“autocomplete”属性について
“autocomplete”属性は“input”要素で表される入力欄への入力時のブラウザーによるオートコンプリートの可否とオートコンプリートによって表示されるべき入力候補の種類を指定します。
“autocomplete”属性は“type”属性に以下の値が指定されている場合に使用できます。
- “hidden”
- “text”
- “search”
- “url”
- “tel”
- “email”
- “password”
- “date”
- “month”
- “week”
- “time”
- “datetime-local”
- “number”
- “range”
- “color”
“type”属性の値が“hidden”でない場合は“autocomplete”属性はユーザーによる入力が期待される情報の種類を示し、ブラウザは“autocomplete”属性の値を参考にして入力候補を表示します。値が“on”の場合は単純にオートコンプリートをして良いということを示し、どのような入力候補を表示するかは“type”属性の値などからブラウザが判断します。
“autocomplete”属性の値が“off”である場合はオートコンプリートをしないことをブラウザに求めます。ただし、場合によってはこの値はブラウザに無視されます。
“autocomplete”属性を省略した場合は“form”要素の“autocomplete”属性の値を継承します。“form”要素にも“autocomplete”属性を指定しない場合の既定値はオートコンプリートを行う“on”です。
“autocomplete”属性は“type”属性の値が“hidden”である場合は“autocomplete”属性は送信される値が何であるのかを示します。この場合は値に“on”と“off”は指定できません。
オートコンプリートの詳細な設定
以下の要素では“autocomplete”属性の値に定義されたトークンを指定することでより詳細に入力欄に入力される情報の種類を示すことができます。
- “type="text"”を指定した“input”要素
- “type="search"”を指定した“input”要素
- “type="tel"”を指定した“input”要素
- “type="url"”を指定した“input”要素
- “type="email"”を指定した“input”要素
- “type="password"”を指定した“input”要素
- “type="date"”を指定した“input”要素
- “type="month"”を指定した“input”要素
- “type="number"”を指定した“input”要素
- “select”要素
- “textarea”要素
また、“type”属性の値が“hidden”の場合にもトークンを指定して送信される値が何であるのかを示すことができます。
値には以下のトークンを空白文字で区切って一つずつ順番に記述します。
- 任意で“section-”に続く入力欄のグループ名
- 任意で“shipping”もしくは“billing”
- 入力欄の詳細分類
入力欄のグループ名
“section-”に続くグループ名をつけることで入力欄をグループ化することができます。複数の入力欄の“autocomplete”属性の値に同じグループ名を記述するとそれらの入力欄はグループ化されます。
例えば、複数の人物についての名前や住所、連絡先などの入力欄がある場合にそれぞれをグループ化することができます。
以上の例の場合、ブラウザは一人目の入力欄と二人目の入力欄の入力候補を区別することができます。
このトークンは任意であり、省略できます。
住所・連絡先の種類
入力欄に入力される情報が住所か連絡先である場合はその情報が配送先についての情報であるか請求先についての情報であるかを示すことができます。
トークン | 説明 |
---|---|
shipping | 入力欄は配送先の住所もしくは連絡先 |
billing | 入力欄は請求先の住所もしくは連絡先 |
以上の例の場合、ブラウザは配送先の入力欄と請求先の入力欄の入力候補を区別することができます。
このトークンは任意であり、省略できます。
入力欄の詳細分類
入力欄に入力される情報の詳細な分類をトークンによって示すことができます。入力される情報が連絡先についての情報である場合はストリングとトークンの組み合わせでより詳細に分類を示すことができます。
入力欄によって使用できるトークンが異なります。入力欄の種類に対応する“input”要素の“type”属性の値は以下の通りです。
入力欄の種類 | “type”属性の値 | |||
---|---|---|---|---|
Text | hidden | text | search | |
Multiline | hidden | |||
Password | hidden | text | search | password |
URL | hidden | text | search | url |
Username | hidden | text | search | |
Tel | hidden | text | search | tel |
Numeric | hidden | text | search | number |
Month | hidden | text | search | month |
Date | hidden | text | search | date |
“textarea”要素と“select”要素ではすべてのトークンが利用できます。
以上の例の場合、すべて単純なテキスト入力欄(“type="text"”)ですが、ブラウザはより適した入力候補を表示することができます。
定義されているトークンは次の項で示します。
入力される情報が連絡先でない場合のトークン
以下のトークンで入力欄に入力される情報の詳細分類を示すことができます。
トークン | 説明 | 書式 | 入力候補の例 | 対応する入力欄の種類 |
---|---|---|---|---|
name | 名前 | 1行の自由なテキスト | “甘蕉花子”、 |
Text |
honorific-prefix | 接頭辞、敬称 | 1行の自由なテキスト | “Mr.”、 |
Text |
given-name | 名(ファーストネーム) | 1行の自由なテキスト | “花子”、 |
Text |
additional-name | ミドルネーム | 1行の自由なテキスト | “バナーヌ”、 |
Text |
family-name | 姓(ファミリーネーム) | 1行の自由なテキスト | “甘蕉”、 |
Text |
honorific-suffix | 接尾辞 | 1行の自由なテキスト | “Jr.”、 |
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”、 |
Text |
country-name | 国名 | 1行の自由なテキスト | “日本”、 |
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”、 |
Text |
transaction-currency | 取引で使用したい通貨 | ISO 4217で定義された通貨コード | “JPY”、 |
Text |
transaction-amount | 取引したい金額 | 浮動小数点数 | “123.00” | Numeric |
language | 優先言語 | 言語コード | “ja”、 |
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 |
メールアドレス | 妥当な形式のメールアドレス | “sample@example.com” | Username | |
impp | インスタントメッセージ用プロトコルの端点 | 妥当な形式のURL | “xmpp:sample@example.com” | URL |
以下の例では電話番号の入力欄を表しています。
この場合でもブラウザは電話番号の入力欄に適した入力候補を表示することができますが、ストリングと組み合わせることでより明確に入力されるべき情報を示すことができます。
以上の例の場合、ブラウザは自宅の電話番号の入力欄と会社の電話番号の入力欄を区別してより適した入力候補を表示することができます。