はなゐろぐ

主に技術関係の覚え書きです。

autocomplete属性とinputmode属性のメモ

2024年9月5日

フォームをオートコンプリートさせるためのマークアップをメモしておきます。

autocomplete属性

autocomplete属性を指定しておくことで、ユーザーがあらかじめ設定した情報を自動入力できます。主にメールフォームや通販サイトの住所入力に使われます。

<input type="text" name="name" autocomplete="name" />
<input type="text" name="postalcode" autocomplete="postal-code" />
HTML 属性: autocomplete - HTML: ハイパーテキストマークアップ言語 | MDN
HTML の autocomplete 属性は、ウェブ開発者は入力欄にどの種類の情報が期待されているかをブラウザーに示唆することができるのに加え、ユーザーエージェントがフォーム入力欄の値を埋めるための自動支援を提供する必要があることを指定することができます。
HTML 属性: autocomplete - HTML: ハイパーテキストマークアップ言語 | MDN favicon https://developer.mozilla.org/ja/docs/Web/HTML/Attributes/autocomplete
HTML 属性: autocomplete - HTML: ハイパーテキストマークアップ言語 | MDN

ちなみに、Mac OS Safariだと連絡先の自分のデータを入力できるのですが、電話番号を「携帯電話」にしていると自動入力されませんでした。「自宅」にすると入力されました。

inputmode属性

主にモバイル端末において、入力に使うソフトウェアキーボードを指定できます。電話番号や郵便番号には数字のみ入力できるようにするとユーザーの利便性が良くなります。

<input type="text" name="tel" inputmode="tel" />
<input type="text" name="email" inputmode="email" />

おまけ:その他の属性

pattern属性

その入力項目が許容する内容を正規表現で指定します。電話番号や郵便番号のバリデーションなどに。

<input type="text" name="postalcode" pattern="\d{3}-?\d{4}" />

title属性

pattern属性を指定した場合、どのように入力すべきかをここに書きます。ブラウザのバリデーションエラーメッセージに使わます(デスクトップ版Chromiumブラウザで確認)。

<input type="text" name="postalcode" pattern="\d{3}-?\d{4}" title="数字で入力してください。ハイフンはあってもなくても構いません。" />