This table compares the results of my manual tests with the result of my prediction script. A red cell means that the script does not match the manual test.
Each cell contains
two values; the first is my manual test and the second my prediction script. So
color false / true means that my manual tests indicate the
type is not supported, but my script indicates it is.
Success rate: %
Safari does not support them but pretends it does in all ways. This is undetectable.
Android WebKit doesn’t support them; Opera Classic does. Neither supports
I decided that if there is no
validationMessage the browser does not support the types. This sacrifices
Opera Classic for Android WebKit, which I think is justified due to their market shares.
Safari Mac does not support it but pretends it does in all ways. This is undetectable.
Android WebKit has serious problems here, and the Hello World test helps, though not 100%.
In this test I set the input's value to Hello World. If the browser accepts and returns that value, the input type is not supported.
This does not help everywhere; especially not on Samsung Android WebKit. Also,
it doesn’t help Firefox’s weird false negatives, or the problems with
week Safari, Samsung Chromium, and BB10 have.