このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

input”要素~“autocomplete”属性HTML5で追加

記事Sep. 18th,2020
オートコンプリートで表示される入力候補の種類を指定する属性
この記事はHTML Living Standardに対応しています。
この記事はHTML Living Standardに対応しています。

autocomplete”属性について

autocomplete”属性はinput”要素で表される入力欄への入力時のブラウザーによるオートコンプリートの可否とオートコンプリートによって表示されるべき入力候補の種類を指定します。

autocomplete”属性はtype”属性に以下の値が指定されている場合に使用できます。

type”属性の値がhiddenでない場合は“autocomplete”属性はユーザーによる入力が期待される情報の種類を示し、ブラウザは“autocomplete”属性の値を参考にして入力候補を表示します。値が“on”の場合は単純にオートコンプリートをして良いということを示し、どのような入力候補を表示するかはtype”属性の値などからブラウザが判断します。

autocomplete”属性の値が“off”である場合はオートコンプリートをしないことをブラウザに求めます。ただし、場合によってはこの値はブラウザに無視されます。

autocomplete”属性を省略した場合はform”要素autocomplete”属性の値を継承します。form”要素にもautocomplete”属性を指定しない場合の既定値はオートコンプリートを行う“on”です。

autocomplete”属性はtype”属性の値がhiddenである場合は“autocomplete”属性は送信される値が何であるのかを示します。この場合は値に“on”と“off”は指定できません。

指定できる値

type="hidden"”ではない

属性値 説明
トークンHTML5.1で追加 オートコンプリートで表示されるべき入力候補の種類
on オートコンプリートを行う
off オートコンプリートを行わない

type”属性の値によっては“on”と“off”のみ指定できます。

type="hidden"

属性値 説明
トークンHTML5.1で追加 フォームで送信する値の種類

オートコンプリートの詳細な設定

以下の要素では“autocomplete”属性の値に定義されたトークンを指定することでより詳細に入力欄に入力される情報の種類を示すことができます。

また、type”属性の値がhiddenの場合にもトークンを指定して送信される値が何であるのかを示すことができます。

値には以下のトークンを空白文字で区切って一つずつ順番に記述します。

  • 任意で“section-”に続く入力欄のグループ名
  • 任意で“shipping”もしくは“billing
  • 入力欄の詳細分類

入力欄のグループ名

section-”に続くグループ名をつけることで入力欄をグループ化することができます。複数の入力欄の“autocomplete”属性の値に同じグループ名を記述するとそれらの入力欄はグループ化されます。

例えば、複数の人物についての名前や住所、連絡先などの入力欄がある場合にそれぞれをグループ化することができます。

<fieldset>
<legend>ひとり目の情報</legend>
<p><label>お受取人:<input type="text" name="send11" autocomplete="section-send1 shipping name"></label></p>
<p><label>都道府県:<input type="text" name="send12" autocomplete="section-send1 shipping address-level1"></label></p>
<p><label>市区町村:<input type="text" name="send13" autocomplete="section-send1 shipping address-level2"></label></p>
<p><label>番地など:<input type="text" name="send14" autocomplete="section-send1 shipping address-street"></label></p>
</fieldset>
<fieldset>
<legend>ふたり目の情報</legend>
<p><label>お受取人:<input type="text" name="send21" autocomplete="section-send2 shipping name"></label></p>
<p><label>都道府県:<input type="text" name="send22" autocomplete="section-send2 shipping address-level1"></label></p>
<p><label>市区町村:<input type="text" name="send23" autocomplete="section-send2 shipping address-level2"></label></p>
<p><label>番地など:<input type="text" name="send24" autocomplete="section-send2 shipping address-street"></label></p>
</fieldset>

以上の例の場合、ブラウザは一人目の入力欄と二人目の入力欄の入力候補を区別することができます。

このトークンは任意であり、省略できます。

住所・連絡先の種類

入力欄に入力される情報が住所か連絡先である場合はその情報が配送先についての情報であるか請求先についての情報であるかを示すことができます。

トークン 説明
shipping 入力欄は配送先の住所もしくは連絡先
billing 入力欄は請求先の住所もしくは連絡先
<fieldset>
<legend>配送先の情報</legend>
<p><label>お受取人:<input type="text" name="send1" autocomplete="shipping name"></label></p>
<p><label>都道府県:<input type="text" name="send2" autocomplete="shipping address-level1"></label></p>
<p><label>市区町村:<input type="text" name="send3" autocomplete="shipping address-level2"></label></p>
<p><label>番地など:<input type="text" name="send4" autocomplete="shipping address-street"></label></p>
</fieldset>
<fieldset>
<legend>請求先の情報</legend>
<p><label>お支払者:<input type="text" name="pay1" autocomplete="billing name"></label></p>
<p><label>都道府県:<input type="text" name="pay2" autocomplete="billing address-level1"></label></p>
<p><label>市区町村:<input type="text" name="pay3" autocomplete="billing address-level2"></label></p>
<p><label>番地など:<input type="text" name="pay4" autocomplete="billing address-street"></label></p>
</fieldset>

以上の例の場合、ブラウザは配送先の入力欄と請求先の入力欄の入力候補を区別することができます。

このトークンは任意であり、省略できます。

入力欄の詳細分類

入力欄に入力される情報の詳細な分類をトークンによって示すことができます。入力される情報が連絡先についての情報である場合はストリングとトークンの組み合わせでより詳細に分類を示すことができます。

入力欄によって使用できるトークンが異なります。入力欄の種類に対応するinput”要素type”属性の値は以下の通りです。

入力欄の種類 type”属性の値
Text hidden text search
Multiline hidden
Password hidden text search password
URL hidden text search url
Username hidden text search email
Tel hidden text search tel
Numeric hidden text search number
Month hidden text search month
Date hidden text search date

textarea”要素select”要素ではすべてのトークンが利用できます。

<fieldset>
<legend>あなたの情報</legend>
<p>
<label>姓:<input type="text" name="prof1" autocomplete="family-name"></label>
<label>名:<input type="text" name="prof2" autocomplete="given-name"></label>
</p>
<p><label>所属:<input type="text" name="prof3" autocomplete="organization"></label></p>
<p><label>肩書:<input type="text" name="prof4" autocomplete="organization-title"></label></p>
</fieldset>

以上の例の場合、すべて単純なテキスト入力欄(type="text")ですが、ブラウザはより適した入力候補を表示することができます。

定義されているトークンは次の項で示します。

入力される情報が連絡先でない場合のトークン

以下のトークンで入力欄に入力される情報の詳細分類を示すことができます。

トークン 説明 書式 入力候補の例 対応する入力欄の種類
name 名前 1行の自由なテキスト “甘蕉花子”、“甘蕉バナーヌ花子”、“Ms. Hanako Kansho” Text
honorific-prefix 接頭辞、敬称 1行の自由なテキスト “Mr.”、“Ms.”、“Dr.”、“Sir”など Text
given-name 名(ファーストネーム) 1行の自由なテキスト “花子”、“Hanako” Text
additional-name ミドルネーム 1行の自由なテキスト “バナーヌ”、“Banane” Text
family-name 姓(ファミリーネーム) 1行の自由なテキスト “甘蕉”、“Kansho” Text
honorific-suffix 接尾辞 1行の自由なテキスト “Jr.”、“Sr.”、“三世”、“III”など Text
nickname あだ名 1行の自由なテキスト “バナ子” Text
organization-title 肩書 1行の自由なテキスト “会長”、“先生”など Text
username ユーザーネーム 1行の自由なテキスト “bananako” Username
new-password 新しく設定するパスワード 1行の自由なテキスト “qwertyu” Password
current-password 現在のパスワード 1行の自由なテキスト “zxcvbnm” Password
one-time-code ワンタイムコード 1行の自由なテキスト “123456” Password
organization ほかの関連する入力欄の人名、住所、連絡先に対応する会社名 1行の自由なテキスト “国立研究開発法人果物学研究所” Text
street-address 複数行の市区町村より下位の住所 自由なテキスト “甜瓜ヶ丘3丁目2-1
バンレイシレジデンス123号室”
Multiline
address-line1 市区町村より下位の住所の1行目 1行の自由なテキスト “甜瓜ヶ丘3丁目2-1” Text
address-line2 市区町村より下位の住所の2行目 1行の自由なテキスト “バンレイシレジデンス123号室” Text
address-line3 市区町村より下位の住所の3行目 1行の自由なテキスト Text
address-level4 住所の四番目の行政区分 1行の自由なテキスト Text
address-level3 住所の三番目の行政区分(区、町村) 1行の自由なテキスト “上京区” Text
address-level2 住所の二番目の行政区分(市区、郡) 1行の自由なテキスト “京都市”、“千代田区”、“Honolulu”など Text
address-level1 住所の最上位の行政区分(都道府県、州) 1行の自由なテキスト “京都府”、“東京都”、“HI”など Text
country ISO 3166-1 alpha-2によって定義される国名コード “JP”、“SE”など Text
country-name 国名 1行の自由なテキスト “日本”、“Sverige”など Text
postal-code 郵便番号 1行の自由なテキスト “123-4567” Text
cc-name クレジットカードなどの決済手段に関連する名前 1行の自由なテキスト “Hanako Banane Kansho”、“Hanako Kansho” Text
cc-given-name クレジットカードなどの決済手段に関連する名(ファーストネーム) 1行の自由なテキスト “Hanako” Text
cc-additional-name クレジットカードなどの決済手段に関連するミドルネーム 1行の自由なテキスト “Banane” Text
cc-family-name クレジットカードなどの決済手段に関連する姓(ファミリーネーム) 1行の自由なテキスト “Kansho” Text
cc-number 決済手段を識別する番号、クレジットカード番号など 数字列 “123456789123” Text
cc-exp 決済手段の有効期限 機械可読な形式で記述した月 “2020-9” Month
cc-exp-month 支払い手段の有効期限の月 “1”から“12”の整数 “9” Numeric
cc-exp-year 支払い手段の有効期限の年 “0”より大きい整数 “2020” Numeric
cc-csc 支払い手段のセキュリティコード 数字列 “789” Text
cc-type 支払い手段の種類 1行の自由なテキスト “JCB”、“Visa”、“Master Card”など Text
transaction-currency 取引で使用したい通貨 ISO 4217で定義された通貨コード “JPY”、“SEK”など Text
transaction-amount 取引したい金額 浮動小数点数 “123.00” Numeric
language 優先言語 言語コード “ja”、“sv”など Text
bday 生年月日 機械可読な形式の年月日 “2000-1-23” Date
bday-day 誕生日 “1”から“31”の整数 “23” Numeric
bday-month 誕生月 “1”から“12”の整数 “12” Numeric
bday-year 誕生年 “0”より大きい整数 “2000” Numeric
sex 性別 1行の自由なテキスト "Female"、"女性"など Text
url ほかの関連する入力欄の会社、人名、住所、連絡先に対応するURL 妥当な形式のURL “http://www.example.com/” URL
photo ほかの関連する入力欄の会社、人名、住所、連絡先に対応する画像 妥当な形式のURL “http://www.example.com/img/photo.jpg” URL

入力される情報が連絡先である場合のトークン

連絡先の入力欄である場合はストリングとトークンの組み合わせで入力される連絡先の詳細分類を示すことができます。ストリングを省略してトークンだけを記述することもできます。

以下は入力される連絡先の分類を示すストリングです。

ストリング 説明
home 入力欄は住居の連絡先
work 入力欄は職場の連絡先
mobile 入力欄は所在にかかわらず受けられる連絡先(モバイルデバイスなど)
fax 入力欄はファックスの番号
pager 入力欄はポケットベルの番号

以下は入力される連絡先の分類を示すトークンです。

トークン 説明 書式 入力候補の例 対応する入力欄の種類
tel 国際電話番号を含む電話番号 “+”に続く半角スペースを含む数字列 “+81 03 1234 5678” Tel
tel-country-code 国際電話番号 “+”に続く数字列 “+81” Text
tel-national 電話番号 半角スペースを含む数字列 “03 1234 5678” Text
tel-area-code 市外局番 数字列 “03” Text
tel-local 電話番号の市内局番と加入者番号 数字列 “1234 5678” Text
tel-local-prefix 電話番号の市内局番 数字列 “1234” Text
tel-local-suffix 電話番号の加入者番号 数字列 “5678” Text
tel-extention 内線番号 数字列 “1000” Text
email メールアドレス 妥当な形式のメールアドレス “sample@example.com” Username
impp インスタントメッセージ用プロトコルの端点 妥当な形式のURL “xmpp:sample@example.com” URL

以下の例では電話番号の入力欄を表しています。

<fieldset>
<legend>あなたの情報</legend>
<p><label>電話(自宅):<input type="tel" name="tel1" autocomplete="tel-national"></label></p>
<p><label>電話(職場):<input type="tel" name="tel2" autocomplete="tel-national"></label></p>
</fieldset>

この場合でもブラウザは電話番号の入力欄に適した入力候補を表示することができますが、ストリングと組み合わせることでより明確に入力されるべき情報を示すことができます。

<fieldset>
<legend>あなたの情報</legend>
<p><label>電話(自宅):<input type="tel" name="tel1" autocomplete="home tel-national"></label></p>
<p><label>電話(職場):<input type="tel" name="tel2" autocomplete="work tel-national"></label></p>
</fieldset>

以上の例の場合、ブラウザは自宅の電話番号の入力欄と会社の電話番号の入力欄を区別してより適した入力候補を表示することができます。

サンプルコード

<form method="post" action="sample-inputtag6.php" target="_blank">
<fieldset>
<legend>あなたの猫の情報</legend>
<p><label>名前:<input type="text" name="cat-name" autocomplete="section-cat name"></label></p>
<p><label>年齢:<input type="number" name="cat-age" autocomplete="on"></label></p>
<p><label>体色:<input type="text" name="cat-color" autocomplete="on"></label></p>
</fieldset>
<fieldset>
<legend>あなたの情報</legend>
<p><label>名前:<input type="text" name="name" autocomplete="section-you name"></label></p>
<p><label>メールアドレス:<input type="email" name="email" autocomplete="section-you email"></label></p>
<p><label>電話番号:<input type="tel" name="tel" autocomplete="section-you tel-national"></label></p>
<p><label>ウェブサイト:<input type="url" name="website" autocomplete="section-you url"></label></p>
<p><label>使命:<input type="text" name="mission" autocomplete="off"></label></p>
</fieldset>
<p>
<p><button type="submit">送信する</button></p>
</p>
</form>
あなたの猫の情報

あなたの情報

*送信すると入力内容が表示されます。
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク