That title is perhaps misleading now. At the time, Opera was the only browser out there with decent HTML5 forms support. Since then, nearly all browsers have some level of support for the constraint validation APIs and new input types.
So here's the original report from the bug:
This is the US government site for online change of address that foreigners in the US must use.
Steps to reproduce:
1. Go to the URL https://egov.uscis.gov/crisgwi/go?action=coa
2. Click "Change your address online" at the bottom of the page
3. Click "I Accept these terms and conditions" at the bottom of the page
4. Click "No, this change of address is not for a US Citizen"
5. Fill out the fields with the asterisk symbol
6. Click "Signature" button to submit
In Opera, you can't submit the form unless all the non essential fields are filled out.
You should be able to submit the address change form with other fields without the asterisk symbol being filled out. This works in Firefox. (Mike: well, it did 2 years ago anyways)
So why is this so broken in modern browsers?
They use a custom attribute (custom at the time, anyways) to denote a required input element. However, their "custom" attribute is actually just the
requiredattribute set to
required="no". If you look at the spec, you'll see that
requiredis a boolean attribute. This means its mere presence sets the DOM property to "true", no matter the value.
You can add recent veresions of Firefox, Chrome and Safari to the list of browsers this site doens't work on. And IE10 in the near future.
In the two years that I've tried to contact them and advocate how to fix this site (
data-requiredand a few simple corresponding changes), while they haven't yet fixed it, they've at least noticed the site is broken:
"We cannot support Google Chrome for completing your Change of Address at this time. Change of Address is optimized to use Internet Explorer 6 and 7."
Bless their hearts.