HTML — autofill( “自動で埋める” )

【この訳に特有な表記規約】

◎表記記号

`input$e 要素が %X `状態にある@ とは、 要素は[ その `type$a 属性の状態 ~EQ %X ]を満たしていることの略記である。

4.10.18.7. ~autofill
4.10.18.7.1. ~form~controlの~autofill法: `autocomplete^a 属性

~UAは、 利用者が~formを~fillする(埋める)ことを助ける特能を備えることもある — 例えば、 利用者の~addressを以前の利用者~入力に基づいて~prefillする(予め埋めておく)など。 `autocomplete@a 内容~属性は、 そのような特能を[ ~~実際に供するかどうか/どう供するか ]について,~UA向けに~hintを与えるために利用できる。 ◎ User agents sometimes have features for helping users fill forms in, for example prefilling the user's address based on earlier user input. The autocomplete content attribute can be used to hint to the user agent how to, or indeed whether to, provide such a feature.

`autocomplete$a 属性は、 次のいずれかを纏うものとされる — それに応じて,異なる仕方で利用される:

`~autofill~anchor@ ( `autofill anchor mantle^en )
この属性は、 `Hidden$st `状態にある$ `input$e 要素が有する場合には,これを纏う。
これを纏っている下では、 この属性は,所与の値の意味を述べる。
【 所与の値とは、 要素の( `value^a 属性の値で与えられる)`値$feを指すと思われる。 すなわち、 この属性の値は,要素の`値$feの意味(種類)を指示する。 】
`~autofill期待@ ( `autofill expectation mantle^en )
この属性は、 `~autofill~anchor$を纏わないときは,これを纏う。
これを纏っている下では、 この属性は,何が利用者からの入力として期待されるかを述べる。
【 すなわち、 この属性の値は,期待される値の種類(意味)を指示する。 】

【 この訳では、 “`mantle^en(マント)” は訳出しない。 “纏う” 自体にその意味が含まれるので。 】

◎ There are two ways this attribute is used. When wearing the autofill expectation mantle, the autocomplete attribute describes what input is expected from users. When wearing the autofill anchor mantle, the autocomplete attribute describes the meaning of the given value. ◎ On an input element whose type attribute is in the Hidden state, the autocomplete attribute wears the autofill anchor mantle. In all other cases, it wears the autofill expectation mantle.

`autocomplete$a 属性に指定する値は、 ~OR↓ を満たす[ 有順序な`~space等で分離された~token集合$ ]でなければナラナイ:

  • `~autofill期待$を纏っているときに限り ⇒ 1 個の~tokenのみからなっていて,それは 文字列[ `off$v / `on$v ]に`~ASCII大小無視$で合致する (`~autofill~anchor$を纏っている場合、 これらの~keywordは許容されない)
  • `~autofill詳細~token群$である
◎ When wearing the autofill expectation mantle, the autocomplete attribute, if specified, must have a value that is an ordered set of space-separated tokens consisting of either a single token that is an ASCII case-insensitive match for the string "off", or a single token that is an ASCII case-insensitive match for the string "on", or autofill detail tokens. ◎ When wearing the autofill anchor mantle, the autocomplete attribute, if specified, must have a value that is an ordered set of space-separated tokens consisting of just autofill detail tokens (i.e. the "on" and "off" keywords are not allowed).

`~autofill詳細~token群@ は、 次に与える並びに合致する文字列である — 以下において “(省略可能)” が付記されたものは、 省略できることを表す (すなわち, 0 個または 1 個): ◎ Autofill detail tokens are the following, in the order given below:

  1. 次を満たす~token(省略可能) ⇒ 最初から 8 文字は`~ASCII大小無視$で文字列 `section-@v に合致する — 当の欄は、 ある名前の~groupに所属することを意味する。 ◎ Optionally, a token whose first eight characters are an ASCII case-insensitive match for the string "section-", meaning that the field belongs to the named group.

    例えば~form内に 2 個の出荷先( `shipping$v )~addressがある場合、 次のように~mark-upすることもできる: ◎ For example, if there are two shipping addresses in the form, then they could be marked up as:

    `autocomplete-1^xCode
  2. 次に挙げるいずれかの文字列に`~ASCII大小無視$で合致する~token(省略可能): ◎ Optionally, a token that is an ASCII case-insensitive match for one of the following strings:

    • `shipping@v — 当の欄は、 出荷先の[ ~address/連絡先 ]情報の一部であることを意味する。 ◎ "shipping", meaning the field is part of the shipping address or contact information
    • `billing@v — 当の欄は、 請求先の[ ~address/連絡先 ]情報の一部であることを意味する。 ◎ "billing", meaning the field is part of the billing address or contact information
  3. 次のいずれか: ◎ Either of the following two options:

    • [ 次に挙げる`~autofill欄$名のうち,当の`~controlには不適切$でないもの ]いずれかに`~ASCII大小無視$で合致する~token: ◎ A token that is an ASCII case-insensitive match for one of the following autofill field names, excluding those that are inappropriate for the control:

      • `name$v
      • `honorific-prefix$v
      • `given-name$v
      • `additional-name$v
      • `family-name$v
      • `honorific-suffix$v
      • `nickname$v
      • `username$v
      • `new-password$v
      • `current-password$v
      • `one-time-code$v
      • `organization-title$v
      • `organization$v
      • `street-address$v
      • `address-line1$v
      • `address-line2$v
      • `address-line3$v
      • `address-level4$v
      • `address-level3$v
      • `address-level2$v
      • `address-level1$v
      • `country$v
      • `country-name$v
      • `postal-code$v
      • `cc-name$v
      • `cc-given-name$v
      • `cc-additional-name$v
      • `cc-family-name$v
      • `cc-number$v
      • `cc-exp$v
      • `cc-exp-month$v
      • `cc-exp-year$v
      • `cc-csc$v
      • `cc-type$v
      • `transaction-currency$v
      • `transaction-amount$v
      • `language$v
      • `bday$v
      • `bday-day$v
      • `bday-month$v
      • `bday-year$v
      • `sex$v
      • `url$v
      • `photo$v

      (これらの値については,下の`~autofill名~一覧$に述べる。) ◎ (See the table below for descriptions of these values.)

    • 次に与える順による並び: ◎ The following, in the given order:

      1. 次の表の 1 列目に挙げるいずれかの文字列に`~ASCII大小無視$で合致する~token(省略可能): ◎ Optionally, a token that is an ASCII case-insensitive match for one of the following strings:

        ~token 意味
        `home@v 当の欄は、 居宅に居る誰かの連絡先~用にあることを意味する。 ◎ "home", meaning the field is for contacting someone at their residence
        `work@v 当の欄は、 職場に居る誰かの連絡先~用にあることを意味する。 ◎ "work", meaning the field is for contacting someone at their workplace
        `mobile@v 当の欄は、 所在に関わらず誰かの連絡先~用にあることを意味する。 ◎ "mobile", meaning the field is for contacting someone regardless of location
        `fax@v 当の欄は、 ~fax機の連絡先の詳細を述べることを意味する。 ◎ "fax", meaning the field describes a fax machine's contact details
        `pager@v 当の欄は、[ `pager^en / `beeper^en ]†の連絡先を詳細を述べることを意味する。 【† “無線呼び出し” 機能を備える機器(昔の “ポケベル” 等)】 ◎ "pager", meaning the field describes a pager's or beeper's contact details
      2. [ 次に挙げる`~autofill欄$名のうち,当の`~controlには不適切$でないもの ]いずれかに`~ASCII大小無視$で合致する~token: ◎ A token that is an ASCII case-insensitive match for one of the following autofill field names, excluding those that are inappropriate for the control:

        • `tel$v
        • `tel-country-code$v
        • `tel-national$v
        • `tel-area-code$v
        • `tel-local$v
        • `tel-local-prefix$v
        • `tel-local-suffix$v
        • `tel-extension$v
        • `email$v
        • `impp$v

        (これらの値については,下の`~autofill名~一覧$に述べる。) ◎ (See the table below for descriptions of these values.)

  4. 文字列 `webauthn@v に`~ASCII大小無視$で合致する~token(省略可能) — [ 利用者が,当の~form~controlとヤリトリしたとき、 ~UAは,`conditional$c 仲介 【 “条件付きで`利用者-仲介$を経る” こと】 を介して可用な`公開鍵~資格証$を示すべきである ]ことを意味する。 この~tokenは、[ `input$e / `textarea$e ]要素~用に限り妥当になる。 ◎ Optionally, a token that is an ASCII case-insensitive match for the string "webauthn", meaning the user agent should show public key credentials available via conditional mediation when the user interacts with the form control.\ webauthn is only valid for input and textarea elements.

前述したように, `autocomplete$a 属性とその各種~keywordの意味は、 属性が纏っているものに依存する: ◎ As noted earlier, the meaning of the attribute and its keywords depends on the mantle that the attribute is wearing.

`~autofill期待$を纏っている場合: ◎ When wearing the autofill expectation mantle...

~keyword `off@v は、 次のいずれかを指示する: ◎ The "off" keyword indicates either that\

  • 当の~controlの入力~dataは特に敏感である (例えば、核兵器の作動化~code) ◎ the control's input data is particularly sensitive (for example the activation code for a nuclear weapon); or that\
  • 決して再利用されない値である (例えば、銀行~login用の使捨鍵)。 したがって,利用者は、 ~UAがそれらに対し値を~prefillするのに依拠する代わりに, 毎回~明示的に~dataを手入力する必要があることになる。 ◎ it is a value that will never be reused (for example a one-time-key for a bank login) and the user will therefore have to explicitly enter the data each time, instead of being able to rely on the UA to prefill the value for them; or that\
  • 当の文書は、 自動補完-( autocomplete )する自前の仕組みを供していて, ~UAに自動補完~値を供するよう求めていない。 ◎ the document provides its own autocomplete mechanism and does not want the user agent to provide autocompletion values.

~keyword `on@v は、 次の 2 つを指示する: ◎ The "on" keyword indicates that\

  • ~UAには,利用者に自動補完~値を供することが許容される ◎ the user agent is allowed to provide the user with autocompletion values, but\
  • 利用者が手入力するよう期待され得る~dataの種類については,それ以上の情報は供さない — ~UAは、 どの自動補完~値を示唆するか裁定するときに,経験則を利用する必要がある。 ◎ does not provide any further information about what kind of data the user might be expected to enter. User agents would have to use heuristics to decide what autocompletion values to suggest.
上に挙げた`~autofill欄$は、[ ~UAには利用者に自動補完~値を供することが許容される ]ことを指示し,[ どの種類の値が期待されるか ]を指定する。 そのような各~keywordの意味は、 下の`~autofill名~一覧$に述べる。 ◎ The autofill field listed above indicate that the user agent is allowed to provide the user with autocompletion values, and specifies what kind of value is expected. The meaning of each such keyword is described in the table below.
要素の `autocomplete$a 属性が省略された場合、 代わりに既定の値 — 要素の`~form所有者$ ~NEQ ~NULL ならば その`~autocomplete0$a 属性の状態に対応する値( `on$v または `off$v ) / ~ELSE_ `on$v — が利用される。 ◎ If the autocomplete attribute is omitted, the default value corresponding to the state of the element's form owner's autocomplete attribute is used instead (either "on" or "off"). If there is no form owner, then the value "on" is used.
`~autofill~anchor$を纏っている場合: ◎ When wearing the autofill anchor mantle...
上に挙げた`~autofill欄$は、 それが指定する[ 特定0の[ 値の種類 ]]の値は,この要素に供された値になることを指示する。 そのような各~keywordの意味は、 下の`~autofill名~一覧$に述べる。 ◎ The autofill field listed above indicate that the value of the particular kind of value specified is that value provided for this element. The meaning of each such keyword is described in the table below.
【 下の例の “通貨” で言えば、 `transaction-currency$v が値の種類になり、 要素に供された`値$fe( `value^a 属性の値 `CHF^v )が,この種類の値を与えることになる。 】

次の例の~pageでは、 通貨( `transaction-currency$v )と取引~額( `transaction-amount$v )が明示的に指定されている。 ~formは、 ~credit-cardその他の請求先の詳細を要請する。 ~UAは、[ 残高は十分ある, かつ関連な通貨を~supportする ]ものと知っている~credit-cardを示唆するとき, この情報を利用することもできる。 ◎ In this example the page has explicitly specified the currency and amount of the transaction. The form requests a credit card and other billing details. The user agent could use this information to suggest a credit card that it knows has sufficient balance and that supports the relevant currency.

`autocomplete-2^xCode

各 `~autofill欄@ ~keywordは、 下の`~autofill名~一覧$に述べるように互いに関係する。 この表の各行に挙げる欄~名は、 同じ行の “意味” 列に与える意味に対応する。 他の欄の下位部分に対応する欄もある (表の中では、より幅狭な欄として示される)。 例えば,~credit-cardの失効日は、 失効日の月t, 年t 両者 ( `cc-exp$v )を与える 1 個の欄としても, 2 個の欄 — 月tを与える欄( `cc-exp-month$v ), 年tを与える欄( `cc-exp-year$v )— としても表せる。 そのような事例では、 上位にある幅広な欄~名が, その下位にある幅狭な一群の欄を~~集約する。 ◎ The autofill field keywords relate to each other as described in the table below. Each field name listed on a row of this table corresponds to the meaning given in the cell for that row in the column labeled "Meaning". Some fields correspond to subparts of other fields; for example, a credit card expiry date can be expressed as one field giving both the month and year of expiry ("cc-exp"), or as two fields, one giving the month ("cc-exp-month") and one the year ("cc-exp-year"). In such cases, the names of the broader fields cover multiple rows, in which the narrower fields are defined.

一般に,作者には、 より幅狭な欄ではなく,より幅広な欄を利用することが奨励される — より幅狭な欄は、 西欧に偏向する傾向にあるので。 例えば一部の西欧~文化では、 共通して[ `given name^eni, `family name^eni ]の順に記される(なので `first name^eni, `surname^eni と称されることも多い)一方、 多くの文化では[ `family name^eni, `given name^eni ]の順にされ、 他の多くは単純に名は 1 つだけである( `mononym^eni )。 したがって、 単独の欄の方がより柔軟である。 ◎ Generally, authors are encouraged to use the broader fields rather than the narrower fields, as the narrower fields tend to expose Western biases. For example, while it is common in some Western cultures to have a given name and a family name, in that order (and thus often referred to as a first name and a surname), many cultures put the family name first and the given name second, and many others simply have one name (a mononym). Having a single field is therefore more flexible.

一部の`~autofill欄$名は、 ある種の~form~controlに限り適切になる。 所与の ( `~autofill欄$名 %名前, ~control ) に対し,次が満たされるならば、 %名前 は当の `~controlには不適切@ とされる ⇒ ~controlは、 %名前 に対応する~group — [ 下の表tにて %名前 を述べている行のうち最初のもの ]の 5 列目に与える~group — に所属しない。

どの~controlがどの~groupに所属するかは、 この表tの下に述べる。

◎ Some fields are only appropriate for certain form controls. An autofill field name is inappropriate for a control if the control does not belong to the group listed for that autofill field in the fifth column of the first row describing that autofill field in the table below. What controls fall into each group is described below the table.
~autofill名とその意味の一覧
欄~名 意味 正準的な形式 正準的な形式の例 ~control~group
`name@v 全部的な人名: ◎ Full name 無改行自由形text Sir Timothy John Berners-Lee, OM, KBE, FRS, FREng, FRSA `Text$cG
`honorific-prefix@v 接頭辞または~title (例: "`Mr.^en", "`Ms.^en", "`Dr.^en", " Mlle" ) ◎ Prefix or title (e.g. "Mr.", "Ms.", "Dr.", "Mlle") 無改行自由形text Sir `Text$cG
`given-name@v `given name^eni (一部の西欧~文化では、 `first name^eni とも称される) ◎ Given name (in some Western cultures, also known as the first name) 無改行自由形text Timothy `Text$cG
`additional-name@v 追加的な人名 (一部の西欧~文化では、 `middle name^eni とも称される,`first name^eni 以外の `forename^eni ) ◎ Additional names (in some Western cultures, also known as middle names, forenames other than the first name) 無改行自由形text John `Text$cG
`family-name@v `family name^eni (一部の西欧~文化では、[ `last name^eni / `surname^eni ]とも称される) ◎ Family name (in some Western cultures, also known as the last name or surname) 無改行自由形text Berners-Lee `Text$cG
`honorific-suffix@v 接尾辞 (例: "`Jr.^en", "`B.Sc.^en", "`MBASW^en", "`II^en" ) ◎ Suffix (e.g. "Jr.", "B.Sc.", "MBASW", "II") 無改行自由形text OM, KBE, FRS, FREng, FRSA `Text$cG
`nickname@v `nickname^eni, `screen name^eni, `handle^eni など — 概して,全部的な人名の代わりに利用される短い人名 ◎ Nickname, screen name, handle: a typically short name used instead of the full name 無改行自由形text Tim `Text$cG
`organization-title@v 肩書き(例: 肩書ex) ◎ Job title (e.g. "Software Engineer", "Senior Vice President", "Deputy Managing Director") 無改行自由形text 教授 ◎ Professor `Text$cG
`username@v ~username ◎ A username 無改行自由形text timbl `Username$cG
`new-password@v 新たな~password(例:~accountを作成するとき/~passwordを変更するとき) ◎ A new password (e.g. when creating an account or changing a password) 無改行自由形text GUMFXbadyrS3 `Password$cG
`current-password@v `username$v 欄で識別される~account用の現在の~password(例: ~log-inするとき) ◎ The current password for the account identified by the username field (e.g. when logging in) 無改行自由形text qwerty `Password$cG
`one-time-code@v 利用者の同一性を~verifyするための使捨て~code ◎ One-time code used for verifying user identity 無改行自由形text 123456 `Password$cG
`organization@v この欄に結付けられた他の欄~内の[ 個人, ~address, その他の連絡先~情報 ]に対応している会社~名 ◎ Company name corresponding to the person, address, or contact information in the other fields associated with this field 無改行自由形text World Wide Web Consortium `Text$cG
`street-address@v `street^en ~address(複数行, 改行文字は保全される) ◎ Street address (multiple lines, newlines preserved) 自由形の~text ◎ Free-form text 32 Vassar Street
MIT Room 32-G524
`Multiline$cG
`address-line1@v `street^en ~address(欄ごとに 1 行) ◎ Street address (one line per field) 無改行自由形text 32 Vassar Street `Text$cG
`address-line2@v 無改行自由形text MIT Room 32-G524 `Text$cG
`address-line3@v 無改行自由形text `Text$cG
`address-level4@v 行政区分が 4 ~~段階あるときの,~addressにおける最も細かい`行政区分$ ◎ The most fine-grained administrative level, in addresses with four administrative levels 無改行自由形text `Text$cG
`address-level3@v 行政区分が 3 段階以上あるときの,~addressにおける 3 番目に広域な`行政区分$ ◎ The third administrative level, in addresses with three or more administrative levels 無改行自由形text `Text$cG
`address-level2@v 行政区分が 2 段階以上あるときの,~addressにおける 2 番目に広域な`行政区分$。 行政区分が 2 ~~段階の国では、 これは,関連な `street^en ~addressが見出される市区町村等になる。 ◎ The second administrative level, in addresses with two or more administrative levels; in the countries with two administrative levels, this would typically be the city, town, village, or other locality within which the relevant street address is found 無改行自由形text Cambridge `Text$cG
`address-level1@v ~address内で最も広域な`行政区分$ — すなわち,当の区域( `locality^en )が見出される~~地方( `province^en )。 これは例えば、[ 日本では都道府県/ 米国では州( `state^en )/ スイスでは `canton^en,英国では`post town^en ]になる。 ◎ The broadest administrative level in the address, i.e. the province within which the locality is found; for example, in the US, this would be the state; in Switzerland it would be the canton; in the UK, the post town 無改行自由形text MA `Text$cG
`country@v 国~code ◎ Country code 妥当な `ISO 3166-1-alpha-2 国~code$ `ISO3166$r ◎ Valid ISO 3166-1-alpha-2 country code [ISO3166] US `Text$cG
`country-name@v 国~名 ◎ Country name 無改行自由形text — 一部の事例では `country^v から導出される ◎ Free-form text, no newlines; derived from country in some cases US `Text$cG
`postal-code@v 郵便番号等 ( CEDEX の場合, `address-level2$v 欄に関連な場合は "CEDEX" , arrondissement を付加する) ◎ Postal code, post code, ZIP code, CEDEX code (if CEDEX, append "CEDEX", and the arrondissement, if relevant, to the address-level2 field) 無改行自由形text 02139 `Text$cG
`cc-name@v 支払手段に与えた全部的な人名 ◎ Full name as given on the payment instrument 無改行自由形text Tim Berners-Lee `Text$cG
`cc-given-name@v 支払手段に与えた `given name^eni (一部の西欧~文化では、 `first name^eni とも称される) ◎ Given name as given on the payment instrument (in some Western cultures, also known as the first name) 無改行自由形text Tim `Text$cG
`cc-additional-name@v 支払手段に与えた追加的な人名 (一部の西欧~文化では `middle name^eni とも称される, `first name^eni 以外の `forename^eni ) ◎ Additional names given on the payment instrument (in some Western cultures, also known as middle names, forenames other than the first name) 無改行自由形text `Text$cG
`cc-family-name@v 支払手段に与えた `family name^eni (一部の西欧~文化では、[ `last name^eni / `surname^eni ]とも称される) ◎ Family name given on the payment instrument (in some Western cultures, also known as the last name or surname) 無改行自由形text Berners-Lee `Text$cG
`cc-number@v 支払手段を識別する~code (例:~credit-card番号) ◎ Code identifying the payment instrument (e.g. the credit card number) `~ASCII数字$ ◎ ASCII digits 4114360123456785 `Text$cG
`cc-exp@v 支払手段の失効~日付 ◎ Expiration date of the payment instrument `妥当な年月t文字列$ ◎ Valid month string 2014-12 `Month$cG
`cc-exp-month@v 支払手段の失効~日付の月t成分 ◎ Month component of the expiration date of the payment instrument 範囲 { 1 〜 12 } に入る`妥当な整数$ ◎ Valid integer in the range 1..12 12 `Numeric$cG
`cc-exp-year@v 支払手段の失効~日付の年t成分 ◎ Year component of the expiration date of the payment instrument 0 より大きい`妥当な整数$ ◎ Valid integer greater than zero 2014 `Numeric$cG
`cc-csc@v 支払手段の~security~codeの類 ( CSC( `card security code^en ), CVC( `card validation code^en ), CVV( `card verification value^en ), SPC( `signature panel code^en ), CCID( `credit card ID^en ), 等々とも称される) ◎ Security code for the payment instrument (also known as the card security code (CSC), card validation code (CVC), card verification value (CVV), signature panel code (SPC), credit card ID (CCID), etc.) `~ASCII数字$列 ◎ ASCII digits 419 `Text$cG
`cc-type@v 支払手段の種別 ◎ Type of payment instrument 無改行自由形text Visa `Text$cG
`transaction-currency@v 利用者が利用する取引に選好する通貨 ◎ The currency that the user would prefer the transaction to use ~ISO 4217通貨~code `ISO4217$r ◎ ISO 4217 currency code [ISO4217] GBP `Text$cG
`transaction-amount@v 利用者が~~希望する取引~額 (例:入札/売出し価格を手入力するとき) ◎ The amount that the user would like for the transaction (e.g. when entering a bid or sale price) `妥当な浮動小数点数$ ◎ Valid floating-point number 401.00 `Numeric$cG
`language@v 選好される言語 ◎ Preferred language 妥当な ~BCP 47 言語~tag `BCP47$r ◎ Valid BCP 47 language tag [BCP47] en `Text$cG
`bday@v 誕生日 ◎ Birthday `妥当な日付~文字列$ ◎ Valid date string 1955-06-08 `Date$cG
`bday-day@v 誕生日の日t成分 ◎ Day component of birthday 範囲 { 1 〜 31 } に入る`妥当な整数$ ◎ Valid integer in the range 1..31 8 `Numeric$cG
`bday-month@v 誕生日の月t成分 ◎ Month component of birthday 範囲 { 1 〜 12 } に入る`妥当な整数$ ◎ Valid integer in the range 1..12 6 `Numeric$cG
`bday-year@v 誕生日の年t成分 ◎ Year component of birthday 0 より大きい`妥当な整数$ ◎ Valid integer greater than zero 1955 `Numeric$cG
`sex@v 性別 (例: 女性, `fa'afafine^en ) ◎ Gender identity (e.g. Female, Fa'afafine) 無改行自由形text Male `Text$cG
`url@v この欄に結付けられた他の欄~内の[ 会社 / 個人 / ~address / 連絡先~情報 ]に対応する~home~pageその他の~web~page ◎ Home page or other web page corresponding to the company, person, address, or contact information in the other fields associated with this field `妥当な~URL文字列$ ◎ Valid URL string https://www.w3.org/People/Berners-Lee/ `URL$cG
`photo@v この欄に結付けられた他の欄~内の[ 会社 / 個人 / ~address / 連絡先~情報 ]に対応する[ 写真, ~icon, その他の画像 ] ◎ Photograph, icon, or other image corresponding to the company, person, address, or contact information in the other fields associated with this field `妥当な~URL文字列$ ◎ Valid URL string https://www.w3.org/Press/Stock/Berners-Lee/2001-europaeum-eighth.jpg `URL$cG
`tel@v 国~codeも含む全部的な電話番号 ◎ Full telephone number, including country code `002B^U ( `+^l )が接頭された { `~ASCII数字$, `0020^U `SPACE^cn } からなる並び ◎ ASCII digits and U+0020 SPACE characters, prefixed by a U+002B PLUS SIGN character (+) +1 617 253 5702 `Tel$cG
`tel-country-code@v 電話番号の国~code成分 ◎ Country code component of the telephone number `002B^U ( `+^l )が接頭された`~ASCII数字$列 ◎ ASCII digits prefixed by a U+002B PLUS SIGN character (+) +1 `Text$cG
`tel-national@v `county^en ~code成分のない電話番号 — 適用-可能なら,国内用の接頭辞も含まれる ◎ Telephone number without the county code component, with a country-internal prefix applied if applicable { `~ASCII数字$, `0020^U `SPACE^cn } からなる並び ◎ ASCII digits and U+0020 SPACE characters 617 253 5702 `Text$cG
`tel-area-code@v 電話番号の地区~code成分 — 適用-可能なら,国内用の接頭辞も含まれる ◎ Area code component of the telephone number, with a country-internal prefix applied if applicable `~ASCII数字$ ◎ ASCII digits 617 `Text$cG
`tel-local@v 国~code/地区~code 両~成分とも伴わない,電話番号 ◎ Telephone number without the country code and area code components `~ASCII数字$ ◎ ASCII digits 2535702 `Text$cG
`tel-local-prefix@v 電話番号の地区~codeに後続する成分が 2 個の成分からなるときの, 1 個目の部分 ◎ First part of the component of the telephone number that follows the area code, when that component is split into two components `~ASCII数字$ ◎ ASCII digits 253 `Text$cG
`tel-local-suffix@v 電話番号の地区~codeに後続する成分が 2 個の成分からなるときの, 2 個目の部分 ◎ Second part of the component of the telephone number that follows the area code, when that component is split into two components `~ASCII数字$ ◎ ASCII digits 5702 `Text$cG
`tel-extension@v 電話番号の内部~拡張~code ◎ Telephone number internal extension code `~ASCII数字$ ◎ ASCII digits 1000 `Text$cG
`email@v ~email~address ◎ Email address `妥当な~email~address$ ◎ Valid email address timbl@w3.org `Username$cG
`impp@v ~instant-messaging~protocolの端点を表現している~URL (例: `aim:goim?screenname=example^l / `~xmpp0^l ) ◎ URL representing an instant messaging protocol endpoint (for example, "aim:goim?screenname=example" or "xmpp:fred@example.net") `妥当な~URL文字列$ ◎ Valid URL string irc://example.org/timbl,isuser `URL$cG

所与の ( `autocomplete$a を指定できる要素, %~group (下の “~group一覧” の 1 列目に挙げられるいずれか) ) に対し,[ 要素が表現する~controlが %~group に所属するかどうか ]は、 要素に応じて,次に従って決定される: ◎ The groups correspond to controls as follows:

`textarea$e
`select$e
%~group に所属する ( %~group が何であれ)。
`input$e

要素は、[ 次の “~group一覧” 表t内で %~group が現れる行の 2 列目に挙げられる,いずれかの`状態にある$ ]ならば %~group に所属し,そうでなければ所属しない。

~group一覧
~group 状態
`Text@cG `Hidden$st / `Text$st / `Search$st
`Multiline@cG `Hidden$st
`Password@cG `Hidden$st / `Text$st / `Search$st / `Password$st
`URL@cG `Hidden$st / `Text$st / `Search$st / `URL$st
`Username@cG `Hidden$st / `Text$st / `Search$st / `Email$st
`Tel@cG `Hidden$st / `Text$st / `Search$st / `Telephone$st
`Numeric@cG `Hidden$st / `Text$st / `Search$st / `Number$st
`Month@cG `Hidden$st / `Text$st / `Search$st / `Month$st
`Date@cG `Hidden$st / `Text$st / `Search$st / `Date$st
◎ Text • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • textarea elements • select elements Multiline • input elements with a type attribute in the Hidden state • textarea elements • select elements Password • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • input elements with a type attribute in the Password state • textarea elements • select elements URL • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • input elements with a type attribute in the URL state • textarea elements • select elements Username • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • input elements with a type attribute in the Email state • textarea elements • select elements Tel • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • input elements with a type attribute in the Telephone state • textarea elements • select elements Numeric • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • input elements with a type attribute in the Number state • textarea elements • select elements Month • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • input elements with a type attribute in the Month state • textarea elements • select elements Date • input elements with a type attribute in the Hidden state • input elements with a type attribute in the Text state • input elements with a type attribute in the Search state • input elements with a type attribute in the Date state • textarea elements • select elements

`行政区分@ ( `administrative level^en )を与える各種~address~level — `address-level1$v, `address-level2$v, `address-level3$v, `address-level4$v 欄 — は、 `street^en ~address【 “最も細かい” ~address】が属する区域を述べるために利用される。 ~levelの個数は地域ごとに異なり、 例えば[ 米国では 2 個 ( `state^en, `town^en ) / 英国では~addressに依存して 1 〜 2 個 ( `post town^en, 場合により `locality^en も) / 中国では 3 個 ( `province^en, `city^en, `district^en ) ]が利用されている。 `address-level1$v 欄が,最も広い行政区を表現する。 欄の順序も地域ごとに異なり、例えば[ 米国では `town^en(~level 2), `state^en(~level 1 )/ 日本では `prefecture^en(~level 1), `city^en(~level 2), `district^en(~level 3 ) ]の順にされている。 ~formを供する作者には、 国の表記規約に合致する仕方で呈示することが奨励される (利用者が国を変更するに伴い,各~欄を[ 隠す / 示す /配列し直す ]など)。 ◎ Address levels: The "address-level1" – "address-level4" fields are used to describe the locality of the street address. Different locales have different numbers of levels. For example, the US uses two levels (state and town), the UK uses one or two depending on the address (the post town, and in some cases the locality), and China can use three (province, city, district). The "address-level1" field represents the widest administrative division. Different locales order the fields in different ways; for example, in the US the town (level 2) precedes the state (level 1); while in Japan the prefecture (level 1) precedes the city (level 2) which precedes the district (level 3). Authors are encouraged to provide forms that are presented in a way that matches the country's conventions (hiding, showing, and rearranging fields accordingly as the user changes the country).

4.10.18.7.2. 処理~model

各[ `input$e 要素のうち `autocomplete$a 属性が`適用される$もの / `select$e 要素 / `textarea$e 要素 ]は、 次に挙げるものを持つ: ◎ Each input element to which the autocomplete attribute applies, each select element, and each textarea element, has an autofill hint set, an autofill scope, an autofill field name, a non-autofill credential type, and an IDL-exposed autofill value.

`~autofill欄~名@ ◎ The autofill field name\
当の欄に期待される~dataの種類を指定する。 ◎ specifies the specific kind of data expected in the field,\
例: `street-address$v / `cc-exp$v ◎ e.g. "street-address" or "cc-exp".
`~autofill~hint集合@ ◎ The autofill hint set\
~UAがどの種別の[ ~address/連絡先 ]情報を基にするかを識別する。 ◎ identifies what address or contact information type the user agent is to look at,\
例: `shipping$v / `fax$v / `billing$v ◎ e.g. "shipping fax" or "billing".
`非~autofill資格証の種別@ ◎ The non-autofill credential type\
利用者が他の`~autofill欄$の値と `alongside^en† で当の欄とヤリトリするとき, ~UAが提供し得る `Credential$I ~obj【!credential】の種別を識別する。 この値が ~NULL でなく, `webauthn^l の場合、 その種別の資格証を選定すると,当の欄を~autofillする代わりに[ 処理待ちな `conditional$c 仲介 `navigator.credentials.get()$c 要請 ]を解決することになる。 ◎ identifies a type of credential that may be offered by the user agent when the user interacts with the field alongside other autofill field values. If this value is "webauthn" instead of null, selecting a credential of that type will resolve a pending conditional mediation navigator.credentials.get() request, instead of autofilling the field.
【† なぜここで “他の~autofill欄” に言及する必要があるのか不明なので、 `alongside^en をどう訳すべきか,よくわからない。 】

例えば,ある~sign-in~pageは、 ~UAに対し[ 保存-済み~passwordを~autofillする ]か[ `公開鍵~資格証$ — 処理待ちな `navigator.credentials.get()$c 要請を解決することになるそれ — を示す ]よう指図することもできる。 利用者は、 ~sign-inするためとして,どちらも選定できる。 ◎ For example, a sign-in page could instruct the user agent to either autofill a saved password, or show a public key credential that will resolve a pending navigator.credentials.get() request. A user can select either to sign-in.

<input name=password type=password autocomplete="current-password webauthn">
`~autofill視野@ ◎ The autofill scope\
`~autofill視野$が互いに一致する一群の欄は、 同じ~subjectについて懸念する情報を有すると~~見なされる。 それは、 `~autofill~hint集合$に加えて, 0 〜 1 個の[ "`section-$v" が接頭された~keyword ]からなる。 ◎ identifies the group of fields whose information concerns the same subject, and consists of the autofill hint set with, if applicable, the "section-*" prefix,\
例: `billing^v / `section-parent shipping^v / `section-child shipping home^v ◎ e.g. "billing", "section-parent shipping", or "section-child shipping home".
`~IDLに公開される~autofill値@
【要素の `autocomplete$m ~IDL属性に公開される値を与える。】

所与の要素 %要素 が持つこれらの値は、 次を走らせた結果として定義される: ◎ These values are defined as the result of running the following algorithm:

  1. ~IF[ %要素 は `autocomplete$a 属性を有さない ] ⇒ ~GOTO `既定^i ◎ If the element has no autocomplete attribute, then jump to the step labeled default.
  2. %~token群 ~LET `~ASCII空白で分割する$( %要素 の `autocomplete$a 属性の値 ) ◎ Let tokens be the result of splitting the attribute's value on ASCII whitespace.
  3. ~IF[ %~token群 は`空$である ] ⇒ ~GOTO `既定^i ◎ If tokens is empty, then jump to the step labeled default.
  4. %現~token ~LET ~NULL

    以下、 この手続きの中で `最後の~tokenを取り出して小文字~化する@ と記された所では,次を走らすとする:

    1. ~IF[ %~token群 は`空$である ] ⇒ ~GOTO `済み^i
    2. %現~token ~SET `~ASCII小文字~化する$( %~token群 を成す最後の~token )
    3. %~token群 から最後の~tokenを`除去する$
    ◎ Let index be the index of the last token in tokens. ◎ ↓
  5. `最後の~tokenを取り出して小文字~化する$ ◎ Let field be the indexth token in tokens.
  6. %欄 ~LET %現~token ◎ ↑
  7. ( %分類, %最大~token数 ) ~SET `欄の分類を決定する$( %現~token ) ◎ Set the category, maximum tokens pair to the result of determining a field's category given field.
  8. ~IF[ %分類 ~EQ ~NULL ]~OR[ %~token群 の`~size$ ~GT %最大~token数 ] ⇒ ~GOTO `既定^i ◎ If category is null, then jump to the step labeled default. ◎ If the number of tokens in tokens is greater than maximum tokens, then jump to the step labeled default.
  9. ~IF[ %分類 ~IN { `Off^i, `自動的^i } ]:

    1. ~IF[ %要素 の `autocomplete$a 属性は`~autofill~anchor$を纏っている ] ⇒ ~GOTO `既定^i
    2. %onoff ~LET %分類 に応じて[ `Off^i ならば `off^l / `自動的^i ならば `on^l ]
    3. %要素 の ⇒# `~autofill欄~名$ ~SET %onoff, `~autofill~hint集合$ ~SET 空~集合, `~IDLに公開される~autofill値$ ~SET %onoff
    4. ~RET
    ◎ If category is Off or Automatic but the element's autocomplete attribute is wearing the autofill anchor mantle, then jump to the step labeled default. ◎ If category is Off, let the element's autofill field name be the string "off", let its autofill hint set be empty, and let its IDL-exposed autofill value be the string "off". Then, return. ◎ If category is Automatic, let the element's autofill field name be the string "on", let its autofill hint set be empty, and let its IDL-exposed autofill value be the string "on". Then, return.
  10. %視野~token群 ~LET « » ◎ Let scope tokens be an empty list.
  11. %~hint~token群 ~LET 空な集合 ◎ Let hint tokens be an empty set.
  12. %資格証の種別 ~LET ~NULL ◎ Let credential type be null.
  13. %~IDL値 ~LET « %欄 » ◎ Let IDL value have the same value as field.
  14. ~IF[ %分類 ~EQ `資格証^i ]~AND[ %現~token ~EQ `webauthn$v ]: ◎ If category is Credential and the indexth token in tokens is an ASCII case-insensitive match for "webauthn", then run the substeps that follow:

    1. %資格証の種別 ~SET `webauthn^l ◎ Set credential type to "webauthn".
    2. `最後の~tokenを取り出して小文字~化する$ ◎ If the indexth token in tokens is the first entry, then skip to the step labeled done. ◎ Decrement index by one.
    3. ( %分類, %最大~token数 ) ~SET `欄の分類を決定する$( %現~token ) ◎ Set the category, maximum tokens pair to the result of determining a field's category given the indexth token in tokens.
    4. ~IF[ %分類 ~NIN { `通常^i, `連絡先^i } ] ⇒ ~GOTO `既定^i ◎ If category is not Normal and category is not Contact, then jump to the step labeled default.
    5. ~IF[ %~token群 の`~size$ ~GT %最大~token数 ] ⇒ ~GOTO `既定^i ◎ If index is greater than maximum tokens minus one (i.e. if the number of remaining tokens is greater than maximum tokens), then jump to the step labeled default.
    6. %~IDL値 に %現~token を`前付加する$ ◎ Set IDL value to the concatenation of the indexth token in tokens, a U+0020 SPACE character, and the previous value of IDL value.
  15. `最後の~tokenを取り出して小文字~化する$ ◎ If the indexth token in tokens is the first entry, then skip to the step labeled done. ◎ Decrement index by one.
  16. ~IF[ %分類 ~EQ `連絡先^i ]~AND[ %現~token ~IN { `home$v, `work$v, `mobile$v, `fax$v, `pager$v } ]: ◎ If category is Contact and the indexth token in tokens is an ASCII case-insensitive match for one of the strings in the following list, then run the substeps that follow: • "home" • "work" • "mobile" • "fax" • "pager" ◎ The substeps are:

    1. %連絡先 ~LET %現~token ◎ Let contact be the matching string from the list above.
    2. %視野~token群 に %連絡先 を`前付加する$ ◎ Insert contact at the start of scope tokens.
    3. %~hint~token群 に %連絡先 を追加する ◎ Add contact to hint tokens.
    4. %~IDL値 に %連絡先 を`前付加する$ ◎ Let IDL value be the concatenation of contact, a U+0020 SPACE character, and the previous value of IDL value.
    5. `最後の~tokenを取り出して小文字~化する$ ◎ If the indexth entry in tokens is the first entry, then skip to the step labeled done. ◎ Decrement index by one.
  17. ~IF[ %現~token ~IN { `shipping$v, `billing$v } ]: ◎ If the indexth token in tokens is an ASCII case-insensitive match for one of the strings in the following list, then run the substeps that follow: • "shipping" • "billing" ◎ The substeps are:

    1. %~mode ~LET %現~token ◎ Let mode be the matching string from the list above.
    2. %視野~token群 に %~mode を`前付加する$ ◎ Insert mode at the start of scope tokens.
    3. %~hint~token群 に %~mode を追加する ◎ Add mode to hint tokens.
    4. %~IDL値 に %~mode を`前付加する$ ◎ Let IDL value be the concatenation of mode, a U+0020 SPACE character, and the previous value of IDL value.
    5. `最後の~tokenを取り出して小文字~化する$ ◎ If the indexth entry in tokens is the first entry, then skip to the step labeled done. ◎ Decrement index by one.
  18. ~IF[ %~token群 は`空$でない ] ⇒ ~GOTO `既定^i ◎ If the indexth entry in tokens is not the first entry, then jump to the step labeled default.
  19. ~IF[[ %現~token の最初から 8 文字 ] ~NEQ `section-$v ] ⇒ ~GOTO `既定^i ◎ If the first eight characters of the indexth token in tokens are not an ASCII case-insensitive match for the string "section-", then jump to the step labeled default.
  20. %section ~LET %現~token ◎ Let section be the indexth token in tokens, converted to ASCII lowercase.
  21. %視野~token群 に %section を`前付加する$ ◎ Insert section at the start of scope tokens.
  22. %~IDL値 に %section を`前付加する$ ◎ Let IDL value be the concatenation of section, a U+0020 SPACE character, and the previous value of IDL value.
  23. `済み^i: ◎ Done:\

    1. %要素 の ⇒# `~autofill~hint集合$ ~SET %~hint~token群, `非~autofill資格証の種別$ ~SET %資格証の種別, `~autofill視野$ ~SET %視野~token群, `~autofill欄~名$ ~SET %欄, `~IDLに公開される~autofill値$ ~SET %~IDL値 を `0020^U `SPACE^cn で`連結する$ ◎ Let the element's autofill hint set be hint tokens. ◎ Let the element's non-autofill credential type be credential type. ◎ Let the element's autofill scope be scope tokens. ◎ Let the element's autofill field name be field. ◎ Let the element's IDL-exposed autofill value be IDL value.
    2. ~RET ◎ Return.
  24. `既定^i:

    1. %欄~名 ~LET 空~文字列
    2. ~IF[ %要素 の `autocomplete$a 属性は`~autofill期待$を纏っている 【!`~autofill~anchor$を纏っていない】 ]:

      1. %~form ~LET %要素 の`~form所有者$
      2. %欄~名 ~SET [ 次が満たされるならば `off$v / ~ELSE_ `on$v ] ⇒ [ %~form ~NEQ ~NULL ]~AND[ %~form の`~autocomplete0$a 属性の状態 ~EQ `off$st ]
    3. %要素 の ⇒# `~autofill~hint集合$ ~SET 空【!空にする?】, `非~autofill資格証の種別$ ~SET 【~NULL ?】, `~autofill視野$ ~SET 空【!空にする?】, `~autofill欄~名$ ~SET %欄~名, `~IDLに公開される~autofill値$ ~SET 空~文字列
    ◎ Default: Let the element's IDL-exposed autofill value be the empty string, and its autofill hint set and autofill scope be empty. ◎ If the element's autocomplete attribute is wearing the autofill anchor mantle, then let the element's autofill field name be the empty string and return. ◎ Let form be the element's form owner, if any, or null otherwise. ◎ If form is not null and form's autocomplete attribute is in the off state, then let the element's autofill field name be "off". ◎ Otherwise, let the element's autofill field name be "on".

`欄の分類を決定する@ ときは、 所与の ( ~ASCII小文字~化された %~token ) に対し, %~token に応じて次で与えられる[ ( 分類, 最大~token数 ) が成す~pair ]を返す:

`off$v
( `Off^i, 1 )
`on$v
( `自動的^i, 1 )
`name$v
`honorific-prefix$v
`given-name$v
`additional-name$v
`family-name$v
`honorific-suffix$v
`nickname$v
`organization-title$v
`username$v
`new-password$v
`current-password$v
`one-time-code$v
`organization$v
`street-address$v
`address-line1$v
`address-line2$v
`address-line3$v
`address-level4$v
`address-level3$v
`address-level2$v
`address-level1$v
`country$v
`country-name$v
`postal-code$v
`cc-name$v
`cc-given-name$v
`cc-additional-name$v
`cc-family-name$v
`cc-number$v
`cc-exp$v
`cc-exp-month$v
`cc-exp-year$v
`cc-csc$v
`cc-type$v
`transaction-currency$v
`transaction-amount$v
`language$v
`bday$v
`bday-day$v
`bday-month$v
`bday-year$v
`sex$v
`url$v
`photo$v
( `通常^i, 3 )
`tel$v
`tel-country-code$v
`tel-national$v
`tel-area-code$v
`tel-local$v
`tel-local-prefix$v
`tel-local-suffix$v
`tel-extension$v
`email$v
`impp$v
( `連絡先^i, 4 )
`webauthn$v
( `資格証^i, 5 )
その他
( ~NULL, ~NULL )
◎ To determine a field's category, given field: • If the field is not an ASCII case-insensitive match for one of the tokens given in the first column of the following table, return the pair (null, null). ◎ Token|Maximum number of tokens|Category "off"|1|Off "on"|1|Automatic "name"|3|Normal "honorific-prefix"|3|Normal "given-name"|3|Normal "additional-name"|3|Normal "family-name"|3|Normal "honorific-suffix"|3|Normal "nickname"|3|Normal "organization-title"|3|Normal "username"|3|Normal "new-password"|3|Normal "current-password"|3|Normal "one-time-code"|3|Normal "organization"|3|Normal "street-address"|3|Normal "address-line1"|3|Normal "address-line2"|3|Normal "address-line3"|3|Normal "address-level4"|3|Normal "address-level3"|3|Normal "address-level2"|3|Normal "address-level1"|3|Normal "country"|3|Normal "country-name"|3|Normal "postal-code"|3|Normal "cc-name"|3|Normal "cc-given-name"|3|Normal "cc-additional-name"|3|Normal "cc-family-name"|3|Normal "cc-number"|3|Normal "cc-exp"|3|Normal "cc-exp-month"|3|Normal "cc-exp-year"|3|Normal "cc-csc"|3|Normal "cc-type"|3|Normal "transaction-currency"|3|Normal "transaction-amount"|3|Normal "language"|3|Normal "bday"|3|Normal "bday-day"|3|Normal "bday-month"|3|Normal "bday-year"|3|Normal "sex"|3|Normal "url"|3|Normal "photo"|3|Normal "tel"|4|Contact "tel-country-code"|4|Contact "tel-national"|4|Contact "tel-area-code"|4|Contact "tel-local"|4|Contact "tel-local-prefix"|4|Contact "tel-local-suffix"|4|Contact "tel-extension"|4|Contact "email"|4|Contact "impp"|4|Contact "webauthn"|5|Credential • Otherwise, let maximum tokens and category be the values of the cells in the second and third columns of that row respectively. • Return the pair (category, maximum tokens).

~autofillの目的においては、 `~controlの~data@ は ~controlの種類に依存する: ◎ For the purposes of autofill, a control's data depends on the kind of control:

`input$e 要素 ◎ An input element\
要素は[ `Email$st `状態にある$ ]~AND[ `~multiple0$a 属性を有する ]ならば 要素の`値~群$fe / ~ELSE_ 要素の`値$fe ◎ with its type attribute in the Email state and with the multiple attribute specified ◎ • The element's values. ◎ ↓
`textarea$e 要素 ◎ Any other input element ◎ A textarea element
要素の`値$fe ◎ The element's value.
`select$e 要素 ◎ A select element with its multiple attribute specified
要素の`選択肢~list$内の `option$e 要素のうち,`選択状態$opt ~EQ ~T なるもの (要素が`~multiple1$a 属性を有するならば複数個になり得る) ◎ The option elements in the select element's list of options that have their selectedness set to true. ◎ Any other select element ◎ The option element in the select element's list of options that has its selectedness set to true.

[ `~autofill~hint集合$ / `~autofill視野$ / `~autofill欄~名$ ]をどう処理するかは、 `autocomplete$a 属性が纏っているものに依存する: ◎ How to process the autofill hint set, autofill scope, and autofill field name depends on the mantle that the autocomplete attribute is wearing.

`~autofill期待$を纏っている場合: ◎ When wearing the autofill expectation mantle...
要素の`~autofill欄~名$ ~EQ `off$v 場合、 ~UAは,[ `~controlの~data$を覚える / 利用者に過去の値を提供する ]べきでない。 ◎ When an element's autofill field name is "off", the user agent should not remember the control's data, and should not offer past values to the user.
注記: 加えて,[ 要素の`~autofill欄~名$ ~EQ `off$v ]の場合、 文書を作動化し直すときには, 値は設定し直される。 ◎ In addition, when an element's autofill field name is "off", values are reset when reactivating a document. when traversing the history.

銀行は、 ~UAが~login情報を~prefillするよう求めることは頻繁にはない: ◎ Banks frequently do not want UAs to prefill login information:

`autocomplete-3^xCode

要素の`~autofill欄~名$ ~NEQ `off$v の下では、 ~UAは: ◎ When an element's autofill field name is not "off", the user agent\

  • その`~controlの~data$を格納してもヨイ。 ◎ may store the control's data, and\
  • 以前に格納した値を利用者に提供してもヨイ。 ◎ may offer previously stored values to the user.

例えば、 利用者が 次の~controlを伴う~pageを訪問したとする: ◎ For example, suppose a user visits a page with this control:

`autocomplete-4^xCode

これは、 次のように具現化されるであろう: ◎ This might render as follows:

長い~alphabet順の国~listからなる~drop-down~control。 ◎ A drop-down control with a long alphabetical list of countries.

利用者は,この~pageを最初に訪問したとき "Zambia" を選定したとする。 2 回目に訪問したときは、 ~UAは,~UI内で "Zambia" を~listの上端に~~複製することもできる — 次の様に: ◎ Suppose that on the first visit to this page, the user selects "Zambia". On the second visit, the user agent could duplicate the entry for Zambia at the top of the list, so that the interface instead looks like this:

同じ~alphabet順の国~listからなるが、 上端に Zambia も伴う。 ◎ The same drop-down control with the alphabetical list of countries, but with Zambia as an entry at the top.
[ `~autofill欄~名$ ~EQ `on$v ]の下では、 ~UAは,経験則の利用を試みて,利用者に提供する最も適切な値を決定するべきである — 例: 要素の `name$a 値, 要素の`~tree$内における位置, ~form内には他にどの欄が存在するか, 等々に基づいて。 ◎ When the autofill field name is "on", the user agent should attempt to use heuristics to determine the most appropriate values to offer the user, e.g. based on the element's name value, the position of the element in its tree, what other fields exist in the form, and so forth.
`~autofill欄~名$ ~IN { `~autofill名~一覧$に与えた~autofill欄~名たち } の下では、 ~UAは,その名前の意味に合致する示唆を供するべきである。 アリな示唆が複数ある場合は、 `~autofill~hint集合$を利用して選定するべきである。 ◎ When the autofill field name is one of the names of the autofill fields described above, the user agent should provide suggestions that match the meaning of the field name as given in the table earlier in this section. The autofill hint set should be used to select amongst multiple possible suggestions.

例えば,利用者が[ 以前に `shipping$v ~keywordを利用している欄の中に ある~addressを手入力して, `billing$v ~keywordを利用している欄の中に別の~addressを手入力していた ]なら、 後続な~formにおいては, その~form~controlのうち `~autofill~hint集合$が: ◎ For example, if a user once entered one address into fields that used the "shipping" keyword, and another address into fields that used the "billing" keyword, then in subsequent forms\

  • ~keyword `shipping$v を包含するものに対しては、 前者の~addressだけ示唆されることになる。 ◎ only the first address would be suggested for form controls whose autofill hint set contains the keyword "shipping".\
  • 両~keywordとも包含しないものに対しては、 ~addressに関係していれば,両~addressとも示唆されるであろう。 ◎ Both addresses might be suggested, however, for address-related form controls whose autofill hint set does not contain either keyword.
`~autofill~anchor$を纏っている場合: ◎ When wearing the autofill anchor mantle...
[ `~autofill欄~名$ ~NEQ 空~文字列 ]のときは、 ~UAは,利用者が次を行ったかのように動作するモノトスル ⇒ 所与の[ `~autofill~hint集合$, `~autofill視野$, `~autofill欄~名$ ]の組合n用に,`~controlの~data$を指定した ◎ When the autofill field name is not the empty string, then the user agent must act as if the user had specified the control's data for the given autofill hint set, autofill scope, and autofill field name combination.

~UAは, `~form~controlを~autofillする@ ときは: ◎ When the user agent autofills form controls,\

  • [ `~form所有者$, `~autofill視野$ ]とも互いに同じになる各 欄に対しては: ◎ elements with the same form owner and the same autofill scope\

    • 同じ[ 個人, ~address, 支払手段, 連絡先~詳細 ]に関係している~dataを利用して~fillするモノトスル。 ◎ must use data relating to the same person, address, payment instrument, and contact details.\
    • それらのうち[ `country$v / `country-name$v ]を伴うものに対しては、 ~UAが `country$v 欄(たち)に対する値を有しているならば, `country-name$v 欄(たち)を[ その値が表す国のヒトが読める名前を利用して~fillする ]モノトスル。 ◎ When a user agent autofills "country" and "country-name" fields with the same form owner and autofill scope, and the user agent has a value for the country" field(s), then the "country-name" field(s) must be filled using a human-readable name for the same country.\
  • [ `~form所有者$, `~autofill欄~名$, `~autofill視野$ ]とも互いに同じになる各 欄を,まとめて~fillするときは、 すべて同じ値で~fillするモノトスル。 ◎ When a user agent fills in multiple fields at once, all fields with the same autofill field name, form owner and autofill scope must be filled with the same value.

~UAは 2 個の電話番号[ +1 555 123 1234, +1 555 666 7777 ]を知っているとする。 ~UAが `autocomplete^a="`shipping tel-local-prefix^v" を伴う欄を値 "123" で~fillして,同じ~form内の `autocomplete^a="`shipping tel-local-suffix^v" を伴う別の欄を値 "7777" で~fillすることは、 適合にならない。 前述の情報で~prefillされる値が妥当になるのは、 順に[ "123", "1234" ]にするか, 順に[ "666", "7777" ]にする場合に限られる。 ◎ Suppose a user agent knows of two phone numbers, +1 555 123 1234 and +1 555 666 7777. It would not be conforming for the user agent to fill a field with autocomplete="shipping tel-local-prefix" with the value "123" and another field in the same form with autocomplete="shipping tel-local-suffix" with the value "7777". The only valid prefilled values given the aforementioned information would be "123" and "1234", or "666" and "7777", respectively.

同様に,ある~formが何らかの理由で `cc-exp$v, `cc-exp-month$v 両~欄を包含していて,~UAがその~formを~prefillする場合、 前者の月t成分は,後者に合致する必要がある。 ◎ Similarly, if a form for some reason contained both a "cc-exp" field and a "cc-exp-month" field, and the user agent prefilled the form, then the month component of the former would have to match the latter.

この要件には、 `~autofill~anchor$も関わる。 次の~markup片を考える: ◎ This requirement interacts with the autofill anchor mantle also. Consider the following markup snippet:

`autocomplete-5^xCode

適合~UAが~text~control内に示唆できる値は、 `hidden^a を有する `input$e 要素に与えられた値 "`TreePlate^v" のみである。 ◎ The only value that a conforming user agent could suggest in the text control is "TreePlate", the value given by the hidden input element.

`~autofill視野$における どの `section-*^v ~tokenも不透明である — ~UAは、 これらの~tokenの精確な値から意味を導出しようと試みないモノトスル。 ◎ The "section-*" tokens in the autofill scope are opaque; user agents must not attempt to derive meaning from the precise values of these tokens.

例えば、[ 利用者の配偶者( “`spouse^en” )の~address ]を知っている~UAが,[ `~autofill視野$に `section-spouse^l を与えている要素 ]に対し[ `spouse^l から意味 “配偶者” を導出して,配偶者の~addressを提供する ]と裁定した場合、 適合にならない。 ◎ For example, it would not be conforming if the user agent decided that it should offer the address it knows to be the user's daughter's address for "section-child" and the addresses it knows to be the user's spouses' addresses for "section-spouse".

自動補完の仕組みは: ◎ The autocompletion mechanism\

  • [ `~controlの~data$を改変したのは利用者であるかのように,~UAが動作している ]かのように実装するモノトスル。 ◎ must be implemented by the user agent acting as if the user had modified the control's data, and\
  • 自動補完は、 要素が`変異-可能$feになってから行うモノトスル (例:要素を文書の中に挿入した直後や,~UAが`構文解析を停止-$した時点)。 ◎ must be done at a time where the element is mutable (e.g. just after the element has been inserted into the document, or when the user agent stops parsing).\
  • ~UAは、 利用者が手入力できない値で~controlを~prefillしないモノトスル。 ◎ User agents must only prefill controls using values that the user could have entered.

例えば、 次の様な `select$e 要素があるとする: ◎ For example, if a select element\

  • `選択肢~list$は、 値[ "Steve", "Rebecca", "Jay", "Bob" ]を伴う 4 個の `option$e 要素のみからなる ◎ only has option elements with values "Steve" and "Rebecca", "Jay", and "Bob", and\
  • `~autofill欄~名$は `given-name$v にされている ◎ has an autofill field name "given-name",\

~UAは、 この欄を "Evan" で~prefillする案しかない場合, その欄を~prefillできない。 `select$e 要素の値を何らかの方法で "Evan" に設定するのは、 適合にならない — 利用者~自身はそれ行えないので。 ◎ but the user agent's only idea for what to prefill the field with is "Evan", then the user agent cannot prefill the field. It would not be conforming to somehow set the select element to the value "Evan", since the user could not have done so themselves.

~UAは、 ~form~controlに対する~prefill時の扱いを[ `文書~tree内$にあるのか`接続されて$いるのか ]に応じて差別化しないモノトスル — すなわち、 ~autofillするかどうかの裁定を[ 要素の`根$が,`~shadow根$か `Document$I かどうか ]に基づいて下すことは適合でない。 ◎ A user agent prefilling a form control must not discriminate between form controls that are in a document tree and those that are connected; that is, it is not conforming to make the decision on whether or not to autofill based on whether the element's root is a shadow root versus a Document.

~UAは、 `値$feに拘束がある~form~controlを~prefillするときは: ◎ A user agent prefilling a form control's value\

  • ~controlを[ `型~不一致の難あり$/ `長過ぎる難あり$ / `短か過ぎる難あり$ / `~underflowの難あり$ / `~overflowの難あり$ / `~step不一致の難あり$ / `~pattern不一致の難あり$ ]にしないモノトスル。 ◎ must not cause that control to suffer from a type mismatch, suffer from being too long, suffer from being too short, suffer from an underflow, suffer from an overflow, or suffer from a step mismatch. A user agent prefilling a form control's value must not cause that control to suffer from a pattern mismatch either.\
  • アリな所では、 `~autofill名~一覧$にて与えた正準的な形式を利用するモノトスル — アリでない所では、 正準的な形式を利用できるよう,経験則を利用して値を変換することを試みるべきである。 ◎ Where possible given the control's constraints, user agents must use the format given as canonical in the aforementioned table. Where it's not possible for the canonical format to be used, user agents should use heuristics to attempt to convert values so that they can be used.

例えば~UAが利用者の `middle name^eni は "Ines" と知っていて、 次の様な~form~controlを~prefillしようと試みる場合…: ◎ For example, if the user agent knows that the user's middle name is "Ines", and attempts to prefill a form control that looks like this:

`autocomplete-6^xCode

… ~UAは、 `maxlength^a による拘束が満たされるよう, "Ines" を "I" に変換して~prefillすることもできる。 ◎ ...then the user agent could convert "Ines" to "I" and prefill it that way.

月t値を伴う,より手の込んだ例を次に示す。 ~UAは利用者の誕生日 — 2012 年 7 月 27 日とする — を知っている場合、 次の各~controlに対し, この情報から~~導出される(少し異なる)値で~prefillしようと試行するであろう: ◎ A more elaborate example would be with month values. If the user agent knows that the user's birthday is the 27th of July 2012, then it might try to prefill all of the following controls with slightly different values, all driven from this information:

`autocomplete-7a^xCode 2012-07 日tは落とされる — `Month$st 状態が受容するのは、 月t, 年tの組合nに限られるので。 (この例は適合でないことに注意 — `~autofill欄~名$ `bday$v は `Month$st 状態には許容されないので。) ◎ The day is dropped since the Month state only accepts a month/year combination. (Note that this example is non-conforming, because the autofill field name bday is not allowed with the Month state.)
`autocomplete-7b^xCode Jul【! July 】

~UAは、 次のいずれかにより,挙げられた選択肢から月tを選び取ることになる: ◎ The user agent picks the month from the listed options, either\

  • 12 個の選択肢があることを~~見出して, 7 番目を選び取ることにより。 ◎ by noticing there are twelve options and picking the 7th, or\
  • 文字列のいずれかが (~UAが~supportする ある言語【この例では英語】にて、 (尾部の空白を除けば) 3 文字の `Jul^l が 7 月を表す月tの名( `July^en )に近く合致することを認識することにより。 ◎ by recognizing that one of the strings (three characters "Jul" followed by a newline and a space) is a close match for the name of the month (July) in one of the user agent's supported languages, or\
  • 類似な他の何らかの仕組みを通して。 ◎ through some other similar mechanism.
`autocomplete-7c^xCode 7 ~UAは、 "7 月" を範囲 { 1 〜 12 } に入る月t数(左欄の 7 )に変換する。 【! July 】 ◎ User agent converts "July" to a month number in the range 1..12, like the field.
`autocomplete-7d^xCode 6 ~UAは、 "7 月" を範囲 { 0 〜 11 } に入る月t数(左欄の 6 )に変換する。 【! "July" 】 ◎ User agent converts "July" to a month number in the range 0..11, like the field.
`autocomplete-7e^xCode ~UAは欄~内を~fillしない — ~formが何を期待しているか,良い推測が見つけられないので。 ◎ User agent doesn't fill in the field, since it can't make a good guess as to what the form expects.

~UAは、 利用者が要素の`~autofill欄~名$を上書きするのを許容してもヨイ — 例えば: ◎ A user agent may allow the user to override an element's autofill field name, e.g.\

  • `off$v から `on$v へ変更して,~page作者に異論があろうが~prefillされるよう,値が覚えられるのを許容する。 ◎ to change it from "off" to "on" to allow values to be remembered and prefilled despite the page author's objections, or\
  • あるいは、 決して値が覚えられないよう常に `off$v にする。 ◎ to always "off", never remembering values.

より特定的には,~UAは、[ `~autofill欄~名$ ~IN { `on$v, `off$v } ]のときは,[ 下の表tの 1 列目に与えられる記述に合致する~form~controlの`~autofill欄~名$を,同じ行の 2 列目に与える値に置換する ]ことを特に考慮してもヨイ: ◎ More specifically, user agents may in particular consider replacing the autofill field name of form controls that match the description given in the first column of the following table, when their autofill field name is either "on" or "off", with the value given in the second cell of that row.\

  • この表tを利用する場合の置換は、 `~tree順序$で行うモノトスル — 1 行目を除くどの要素も、 先行する要素の`~autofill欄~名$を参照するので。 ◎ If this table is used, the replacements must be done in tree order, since all but the first row references the autofill field name of earlier elements.\
  • 表tの中で,他の~form~controlが[ 先行-/後続- ]すると記述された所では、 それらは[ `~listされる要素$であって, かつ 互いが同じ`~form所有者$を共有している ]ものに限るとする。 ◎ When the descriptions below refer to form controls being preceded or followed by others, they mean in the list of listed elements that share the same form owner.
~form~control ◎ Form control 新たな`~autofill欄~名$ ◎ New autofill field name
`Text$st `状態にある$ `input$e 要素のうち, `Password$st `状態にある$ `input$e 要素が後続しているもの ◎ an input element whose type attribute is in the Text state that is followed by an input element whose type attribute is in the Password state `username$v
`Password$st `状態にある$ `input$e 要素のうち,[ `~autofill欄~名$ ~EQ `username$v ]なる `input$e 要素が先行しているもの ◎ an input element whose type attribute is in the Password state that is preceded by an input element whose autofill field name is "username" `current-password$v
`Password$st `状態にある$ `input$e 要素のうち,[ `~autofill欄~名$ ~EQ `current-password$v ]なる `input$e 要素が先行しているもの ◎ an input element whose type attribute is in the Password state that is preceded by an input element whose autofill field name is "current-password" `new-password$v
`Password$st `状態にある$ `input$e 要素のうち,[ `~autofill欄~名$ ~EQ `new-password$v ]なる `input$e 要素が先行しているもの ◎ an input element whose type attribute is in the Password state that is preceded by an input element whose autofill field name is "new-password" `new-password$v
`autocomplete@m 取得子~手続きは ⇒ ~RET コレの`~IDLに公開される~autofill値$ ◎ The autocomplete IDL attribute, on getting, must return the element's IDL-exposed autofill value, and\

`autocomplete$m 設定子は、 `autocomplete$a 内容~属性を`反映する$モノトスル。 ◎ on setting, must reflect the content attribute of the same name.