I was able to find more clarification on this matter. Both W3C and WHATWG say:
typeMismatch
The control is suffering from a type mismatch.
[...]
Suffering from a type mismatch
When a control that allows arbitrary user input has a value that is not in the correct syntax (E-mail, URL).
So it appears that this value is only set in the case of type
being set to either url
or email
. In all other cases it will not be set because the input
elements won't allow the user to set their values to invalid ones (manually or programmatically).
Unfortunately, this doesn't answer the issue with tooLong
; the specification says that this will be set if the input value is too long, but this doesn't seem to be the case.