Take a look over at this answer by kmote.
Highlight is that the browser looks at the field’s name
tag and makes an educated guess at what sort of data would go there (regex matching is a good naive way to do this). Chrome is working to get some sort of standardization so that this isn’t quite as hit-or-miss.