Laut w3.org zum Eingabetyp E-Mail - E-Mail-Adresseneingabesteuerung:
Wert: Jede Zeichenfolge, die mit der folgenden [ABNF]-Produktion übereinstimmt:
1*( atext / "." ) "@" ldh-str 1*( "." ldh-str )
... wobei atext wie in [RFC 5322] definiert ist und ldh-str wie in [RFC 1034] definiert ist.
D. h., jede Zeichenfolge, die mit dem folgenden regulären Ausdruck übereinstimmt:
/^[a-zA-Z0-9.!#$%&’+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/
Quelle: https://www.w3.org/TR/2012/WD-html-markup-20120329/input.email.html
Wie aus dem obigen regulären Ausdruck ersichtlich ist, darf der eingegebene Wert keine Nicht-ASCII-Zeichen enthalten. Dies ist problematisch, da E-Mail-Adressen manchmal Nicht-ASCII-Zeichen enthalten. Alles, was Chrome getan hat, ist (dumm) den Domain-Teil der E-Mail-Adresse in Punycode zu codieren, damit es den Anforderungen der w3c entspricht. Was sie hätten tun sollen, ist es unverändert zu lassen, da es selbstverständlich ist, dass die Formularvalidierung entweder die Eingabe des Benutzers akzeptieren oder ablehnen sollte, aber niemals ändern.