autocomplete属性の値にはcontrol groupという仕様があり、control groupに属していないフィールドで値を利用すると、HTML validatorでinvalidとして扱われる。
詳細は4.10.18.7.1 Autofilling form controls: the autocomplete attributeの下の方に表になっている。type="text"はほとんどのcontrol groupに所属していて、ほぼすべての値を扱える。例外はMultiline(複数行)のcontrol groupで、(複数行の住所を扱う)street-address
はtype="hidden"なinput要素かtextarea、select要素でしか利用できない。type="text"で利用する場合はサブセットであるaddress-line1
の方を使う。
type="text"以外のinput要素は利用できない値が多い。たとえばtype="tel"はTelのcontrol groupにのみ所属していて、autocomplete属性ではtel
の値しか利用できない。国番号を除いた国内の電話番号を自動入力させたい場合はtel-national
の方が適切な値ではあるのだけど、tel-national
のcontrol groupはTextなのでtype="tel"ではinvalidになる。