4.6 ~link
【この訳に固有の表記規約】
この訳の,~algoの記述に利用されている各種記号( ~LET, ~IF, ~GOTO, 等々)の意味や定義の詳細は、~SYMBOL_DEF_REFを~~参照されたし。
`~a_area@ 要素とは、 `a$e, `area$e 両~要素を含む総称である。
4.6.1. 序論
~linkとは、[ `~a_area$ / `link$e ]要素により作成される概念的な構成子であり,現在の`文書$と別の資源との間の接続を`表現-$する。 ~HTMLにおける~linkには、次の 2 種類がある: ◎ Links are a conceptual construct, created by a, area, and link elements, that represent a connection between two resources, one of which is the current Document. There are two kinds of links in HTML:
- `外部~資源~link@
- 現在の文書を増補するために利用される資源への~linkであり、一般に,~UAにより自動的に処理される。 ◎ These are links to resources that are to be used to augment the current document, generally automatically processed by the user agent.
- `~hyperlink@
- 他の資源への~linkであり、一般に,利用者がその資源へ`~navigate$できるようにする — 例えば,その資源を[ ~browser内で訪問する / ~downloadする ]など — ために,~UAにより公開される。 ◎ These are links to other resources that are generally exposed to the user by the user agent so that the user can cause the user agent to navigate to those resources, e.g. to visit them in a browser or download them.
`href$aL 属性を有する[ `link$e / `~a_area$ ]要素に対しては: ◎ For link elements with an href attribute\
- 要素が `rel$aL 属性も有するならば、その値に含まれる各~keyword用の~linkが,`~HTML~link型$ 節に与える各~keywordの定義に従って作成され~MUST。 ◎ and a rel attribute, links must be created for the keywords of the rel attribute, as defined for those keywords in the link types section.
- また,要素が `~a_area$ 要素であって,[ `rel$a 属性は有さないか, 有するが その値に[ `~hyperlink$を作成するものと定義されている~keyword ]は含まれてない ]場合も、 `暗黙の~hyperlink@ が作成され~MUST ⇒ この`暗黙の~hyperlink$には、[ 要素の`~node文書$から 要素の `href$a 属性で与えられる資源へ~linkする ]ことを超えるような,特別な意味はない(その`~HTML~link型$はない)。 ◎ Similarly, for a and area elements with an href attribute and a rel attribute, links must be created for the keywords of the rel attribute as defined for those keywords in the link types section. Unlike link elements, however, a and area elements with an href attribute that either do not have a rel attribute, or whose rel attribute has no keywords that are defined as specifying hyperlinks, must also create a hyperlink. This implied hyperlink has no special meaning (it has no link type) beyond linking the element's node document to the resource given by the element's href attribute.
`~hyperlink$は、その~hyperlinkの処理~意味論を改変するような `注釈@ を 0 個以上~持つ。 ◎ A hyperlink can have one or more hyperlink annotations that modify the processing semantics of that hyperlink.
4.6.2. ~a_area 要素により作成される~link
`~a_area$ 要素~上の `href@a 属性に指定する値は、`前後~空白~可の妥当な~URL$で~MUST。 ◎ The href attribute on a and area elements must have a value that is a valid URL potentially surrounded by spaces.
注記: `~a_area$ 要素には、 `href$a 属性を有することは要求されない — 有さない場合、~hyperlinkは作成されない。 ◎ The href attribute on a and area elements is not required; when those elements do not have href attributes they do not create hyperlinks.
`target@a 属性に指定する値は、`妥当な閲覧文脈~名または~keyword$で~MUST。 それは、利用されることになる`閲覧文脈$の名前を与える。 ~UAは、`~hyperlinkを追う$ときにこの名前を利用する。 ◎ The target attribute, if present, must be a valid browsing context name or keyword. It gives the name of the browsing context that will be used. User agents use this name when following hyperlinks.
`~a_area$ 要素の`作動化の挙動$が呼出されたときは、~UAは,利用者が次に関する選好を指示できるようにして~MAY: ◎ When an a or area element's activation behavior is invoked, the user agent may allow the user to indicate a preference regarding\
- その~hyperlinkを `~navi$に利用するかどうか ◎ whether the hyperlink is to be used for navigation or\
- それが指定する資源を~downloadするかどうか ◎ whether the resource it specifies is to be downloaded.
利用者による選好がない下での既定は、要素が `download$a 属性を[ 有さないならば ~navi / 有するならば 参照先~資源の~download ]になるべきである。 ◎ In the absence of a user preference, the default should be navigation if the element has no download attribute, and should be to download the specified resource if it does.
~UAは、利用者の選好, あるいは 属性の有無を介して決定された結果に従わ~MUST: すなわち,~hyperlinkの利用が[ `~navi$とされた場合は `~hyperlinkを追う$ / 資源の~downloadとされた場合は それを`~download$する ]ことが要求される。 これらの用語は、後続の各~節にて定義される。 ◎ Whether determined by the user's preferences or via the presence or absence of the attribute, if the decision is to use the hyperlink for navigation then the user agent must follow the hyperlink, and if the decision is to use the hyperlink to download a resource, the user agent must download the hyperlink. These terms are defined in subsequent sections below.
`download@a 属性は、在するならば,[ 作者は,~hyperlinkは資源の`~download$用であると意図している ]ことを指示する。 この属性の値が空でない場合、作者が推奨する既定の~file名を指定する — それは、局所~file~systemにて資源の~file名を与えるときに利用される。 許容される値に制約はないが、作者は、ほとんどの~file~systemには ~file名に~supportされる約物に関して制限があり,~UAは それに則って~file名を調整すると見込まれることに注意されたし。 ◎ The download attribute, if present, indicates that the author intends the hyperlink to be used for downloading a resource. The attribute may have a value; the value, if any, specifies the default file name that the author recommends for use in labeling the resource in a local file system. There are no restrictions on allowed values, but authors are cautioned that most file systems have limitations with regard to what punctuation is supported in file names, and user agents are likely to adjust file names accordingly.
`ping@a 属性は、在するならば,[ 利用者が~hyperlinkを追うときに,それについて通知されることに関心がある資源 ]の~URLを与える。 その値は、~UAにより`~hyperlink聴取$に利用される。 値は、`空白区切りの~token集合$であって,その各~token 【を~URL構文解析器にかけた結果】 は 次を満たさ~MUST:
- `妥当かつ空でない~URL$である
- `~scheme$url ~IN `~HTTP_S~scheme$
`~a_area$ 要素~上の `rel@a 属性は、要素が作成する~linkの種類を制御する。 この属性に指定する値は、`空白区切りの~token集合$で~MUST。 許容される~keywordとその意味 は、下に定義される。 ◎ The rel attribute on a and area elements controls what kinds of links the elements create. The attribute's value must be a set of space-separated tokens. The allowed keywords and their meanings are defined below.
次をすべて満たすものが `rel$aL が`~supportする~token$であるとされる:
- `~HTML~link型$ 節にて定義される~keywordであって, `~a_area$ 要素に許容される。
- ~UAが~supportする。
- ~UAによる処理~modelに影響0する。
`~supportする~token$には、次のものがあり得るが,これらのうち~UAが処理~modelを実装するものに限られ~MUST ⇒ `noreferrer$v, `noopener$v
◎ rel's supported tokens are the keywords defined in HTML link types which are allowed on a and area elements, impact the processing model, and are supported by the user agent. The possible supported tokens are noreferrer and noopener. rel's supported tokens must only include the tokens from this list that the user agent implements the processing model for.他の仕様は、`他種の~link型$にて定義されるように,`~HTML~link型$を追加して~MAY。 そのような仕様は、次に挙げる追加の要件を伴わせても~MAY: ◎ Other specifications may add HTML link types as defined in Other link types, with the following additional requirements:
- その~link型は `rel$aL が`~supportする~token$であると要求して~MAY。 ◎ Such specifications may require that their link types be included in rel's supported tokens.
- その~link型は`~body-ok$であると指定して~MAY。 ◎ Such specifications may specify that their link types are body-ok.
`rel$a 属性には既定の値はない。 属性が省略された場合や, 属性の値が含むどの~tokenも ~UAにより認識されない場合、文書と行先~資源との間には,~hyperlinkであること以外に 特に関係性はないことになる。 ◎ The rel attribute has no default value. If the attribute is omitted or if none of the values in the attribute are recognized by the user agent, then the document has no particular relationship with the destination resource other than there being a hyperlink between the two.
`~hyperlink$を作成するような `a$e 要素に `hreflang@a 属性が在する場合、~link先~資源の言語を与える。 指定する値は、妥当な `BCP47$r 言語~tagで~MUST。 この属性は、純粋に助言的である — ~UAは、~fetchした資源の言語を決定するときには,資源への~linkに含められた~metadataは利用せず,資源に結付けられている言語~情報のみを利用し~MUST。 ◎ The hreflang attribute on a elements that create hyperlinks, if present, gives the language of the linked resource. It is purely advisory. The value must be a valid BCP 47 language tag. [BCP47] User agents must not consider this attribute authoritative — upon fetching the resource, user agents must use only language information associated with the resource to determine its language, not metadata included in the link to the resource.
`type@a 属性は、在するならば,~link先の資源の`~MIME型$を与える。 指定する値は、`妥当な~MIME型~文字列$で~MUST。 この属性は、純粋に助言的である — ~UAは、~fetchした資源の型を決定するときには,資源への~linkに含められた~metadataは利用しては~MUST_NOT。 ◎ The type attribute, if present, gives the MIME type of the linked resource. It is purely advisory. The value must be a valid MIME type string. User agents must not consider the type attribute authoritative — upon fetching the resource, user agents must not use metadata included in the link to the resource to determine its type.
`referrerpolicy@a 属性は、`~referrer施策~属性$である。 その目的は、 `~hyperlinkを追う$ときに利用される`~referrer施策$を設定することである。 `REFERRERPOLICY$r ◎ The referrerpolicy attribute is a referrer policy attribute. Its purpose is to set the referrer policy used when following hyperlinks. [REFERRERPOLICY]
4.6.3. ~a_area 要素~用の~API
interface mixin `HTMLHyperlinkElementUtils@I { [`CEReactions$] stringifier attribute USVString `href$m; readonly attribute USVString `origin$m; [`CEReactions$] attribute USVString `protocol$m; [`CEReactions$] attribute USVString `username$m; [`CEReactions$] attribute USVString `password$m; [`CEReactions$] attribute USVString `host$m; [`CEReactions$] attribute USVString `hostname$m; [`CEReactions$] attribute USVString `port$m; [`CEReactions$] attribute USVString `pathname$m; [`CEReactions$] attribute USVString `search$m; [`CEReactions$] attribute USVString `hash$m; };
- %hyperlink . `toString()^m
- %hyperlink . `href$m
- %hyperlink の~URLを返す。 ◎ Returns the hyperlink's URL.
- 設定して~URLを変更できる。 ◎ Can be set, to change the URL.
- %hyperlink . `origin$m
- %hyperlink の~URLの生成元を返す。 ◎ Returns the hyperlink's URL's origin.
- %hyperlink . `protocol$m
- %hyperlink の~URLの~schemeを返す。 ◎ Returns the hyperlink's URL's scheme.
- 設定して~URLの~schemeを変更できる。 ◎ Can be set, to change the URL's scheme.
- %hyperlink . `username$m
- %hyperlink の~URLの~usernameを返す。 ◎ Returns the hyperlink's URL's username.
- 設定して~URLの~usernameを変更できる。 ◎ Can be set, to change the URL's username.
- %hyperlink . `password$m
- %hyperlink の~URLの~passwordを返す。 ◎ Returns the hyperlink's URL's password.
- 設定して~URLの~passwordを変更できる。 ◎ Can be set, to change the URL's password.
- %hyperlink . `host$m
- %hyperlink の~URLの ~host&~portを返す(~portは、~URLの~scheme用の既定の~portと異なる場合に限り,結果に含まれる)。 ◎ Returns the hyperlink's URL's host and port (if different from the default port for the scheme).
- 設定して~URLの~host&~portを変更できる。 ◎ Can be set, to change the URL's host and port.
- %hyperlink . `hostname$m
- %hyperlink の~URLの~hostを返す。 ◎ Returns the hyperlink's URL's host.
- 設定して~URLの~hostを変更できる。 ◎ Can be set, to change the URL's host.
- %hyperlink . `port$m
- %hyperlink の~URLの~portを返す。 ◎ Returns the hyperlink's URL's port.
- 設定して~URLの~portを変更できる。 ◎ Can be set, to change the URL's port.
- %hyperlink . `pathname$m
- %hyperlink の~URLの~pathを返す。 ◎ Returns the hyperlink's URL's path.
- 設定して~URLの~pathを変更できる。 ◎ Can be set, to change the URL's path.
- %hyperlink . `search$m
- %hyperlink の~URLの~queryを返す(結果が空でなければ先頭の `?^l も含む)。 ◎ Returns the hyperlink's URL's query (includes leading "?" if non-empty).
- 設定して~URLの~query(先頭の `?^l は無視される)を変更できる。 ◎ Can be set, to change the URL's query (ignores leading "?").
- %hyperlink . `hash$m
- %hyperlink の~URLの素片を返す(結果が空でなければ先頭の `#^l も含む)。 ◎ Returns the hyperlink's URL's fragment (includes leading "#" if non-empty).
- 設定して~URLの素片を変更できる(先頭の `#^l は無視される)。 ◎ Can be set, to change the URL's fragment (ignores leading "#").
`HTMLHyperlinkElementUtils$I ~mixinを実装する各 %要素 には、次のものが結付けられる: ◎ ↓
- `~url@
- ~NULL または `~URL$ 。 初期~時には ~NULL とする。 ◎ An element implementing the HTMLHyperlinkElementUtils mixin has an associated url (null or a URL). It is initially null.
- `~urlを設定する@ ~algo ◎ An element implementing the HTMLHyperlinkElementUtils mixin has an associated set the url algorithm, which\
-
次を走らす:
- %~URL ~LET ~error
- ~IF[ %要素 は `href$a 内容~属性を有する ] ⇒ %~URL ~LET[ %要素 の `href$a 内容~属性の値 ]を[ %要素 の`~node文書$ ]に`相対的に構文解析-$した結果
- %要素 の`~url$ ~SET [ %~URL ~NEQ ~error ならば %~URL / ~ELSE_ ~NULL ]
-
~UAは、 %要素 が作成されたとき, および %要素 の `href$a 内容~属性が[ 設定-/ 変更- / 除去- ]される度に,`~urlを設定-$し~MUST。 ◎ When elements implementing the HTMLHyperlinkElementUtils mixin are created, and whenever those elements have their href content attribute set, changed, or removed, the user agent must set the url.
注記: これが観測-可能になるのは、 `blob_$sc ~URLに限られる。 それを`~URL構文解析する$ことには、 `Blob URL Store$ の検索が孕まれるので。 ◎ This is only observable for blob: URLs as parsing them involves a Blob URL Store lookup.
- `~urlを初期化し直す@ ~algo ◎ An element implementing the HTMLHyperlinkElementUtils mixin has an associated reinitialize url algorithm, which\
-
次を走らす: ◎ runs these steps:
- %~url ~LET %要素 の`~url$ ◎ ↓
- ~IF[ %~url ~NEQ ~NULL ]~AND[ %~url の`~scheme$url ~EQ `blob^l ]~AND[ %~url の`基底~URL不可用~flag$url ~EQ ~ON ] ⇒ ~RET ◎ If element's url is non-null, its scheme is "blob", and its cannot-be-a-base-URL flag is set, terminate these steps.
- `~urlを設定する$ ◎ Set the url.
要素の `~hrefを更新する@ ときは ⇒ 要素の `href$a 内容~属性の値 ~SET `~URLを直列化する$( 要素の`~url$ ) ◎ To update href, set the element's href content attribute's value to the element's url, serialized.
- `href@m
-
取得子は、次を走らせ~MUST: ◎ The href attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~AND[ 此れは `href$a 内容~属性を有さない ] ⇒ ~RET 空~文字列 ◎ If url is null and this element has no href content attribute, return the empty string.
- ~ELIF[ %~url ~EQ ~NULL ] ⇒ ~RET 此れの`href$a 内容~属性の値 ◎ Otherwise, if url is null, return this element's href content attribute's value.
- ~RET `~URLを直列化する$( %~url ) ◎ Return url, serialized.
-
設定子は、此れの `href$a 内容~属性の値を所与の値に設定し~MUST。 ◎ The href attribute's setter must set this element's href content attribute's value to the given value.
- `origin@m
-
取得子は、次を走らせ~MUST: ◎ The origin attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- ~IF[ 此れの`~url$ ~EQ ~NULL ] ⇒ ~RET 空~文字列 ◎ If this element's url is null, return the empty string.
- ~RET `生成元を直列化する$( 此れの`~url$ の`生成元$url ) ◎ Return the serialization of this element's url's origin.
- `protocol@m
-
取得子は、次を走らせ~MUST: ◎ The protocol attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- ~IF[ 此れの`~url$ ~EQ ~NULL ] ⇒ ~RET `:^l ◎ If this element's url is null, return ":".
- ~RET 次の並び ⇒ 此れの`~url$ の`~scheme$url, `:^l ◎ Return this element's url's scheme, followed by ":".
-
設定子は、次を走らせ~MUST: ◎ The protocol attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- ~IF[ 此れの`~url$ ~EQ ~NULL ] ⇒ ~RET ◎ If this element's url is null, terminate these steps.
-
次を与える下で[ 所与の値, `:^l ]の並びを`基本~URL構文解析器$にかける ⇒ ~URLと上書stateの組: ( 此れの`~url$, `~scheme開始$uST ) ◎ Basic URL parse the given value, followed by ":", with this element's url as url and scheme start state as state override.
注記: ~URL構文解析器は,連続する複数個の~colonを 1 個のそれと同一視するので、値に `https:^l を供しても(あるいは `https::::^l でさえ), `https^l を供するのと同じことになる。 ◎ Because the URL parser ignores multiple consecutive colons, providing a value of "https:" (or even "https::::") is the same as providing a value of "https".
- `~hrefを更新する$ ◎ Update href.
- `username@m
-
取得子は、次を走らせ~MUST: ◎ The username attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- ~IF[ 此れの`~url$ ~EQ ~NULL ] ⇒ ~RET 空~文字列 ◎ If this element's url is null, return the empty string.
- ~RET 此れの`~url$ の`~username$url ◎ Return this element's url's username.
-
設定子は、次を走らせ~MUST: ◎ The username attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url は`~username/~password/~portを持てない$ ] ⇒ ~RET ◎ If url is null or url cannot have a username/password/port, then return.
- `~URLの~usernameを設定する$( %~url, 所与の値 ) ◎ Set the username, given url and the given value.
- `~hrefを更新する$ ◎ Update href.
- `password@m
-
取得子は、次を走らせ~MUST: ◎ The password attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ] ⇒ ~RET 空~文字列 ◎ If url is null, then return the empty string.
- ~RET %~url の`~password$url ◎ Return url's password.
-
設定子は、次を走らせ~MUST: ◎ The password attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url は`~username/~password/~portを持てない$ ] ⇒ ~RET ◎ If url is null or url cannot have a username/password/port, then return.
- `~URLの~passwordを設定する$( %~url, 所与の値 ) ◎ Set the password, given url and the given value.
- `~hrefを更新する$ ◎ Update href.
- `host@m
-
取得子は、次を走らせ~MUST: ◎ The host attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`~host$url ~EQ ~NULL ] ⇒ ~RET 空~文字列 ◎ If url or url's host is null, return the empty string.
- ~IF[ %~url の`~port$url ~EQ ~NULL ] ⇒ ~RET `~hostを直列化する$( %~url の`~host$url ) ◎ If url's port is null, return url's host, serialized.
- ~RET 次の並び ⇒ `~hostを直列化する$( %~url の`~host$url ) `:^l, `整数を直列化する$( %~url の`~port$url ) ◎ Return url's host, serialized, followed by ":" and url's port, serialized.
-
設定子は、次を走らせ~MUST: ◎ The host attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`基底~URL不可用~flag$url ~EQ ~ON ] ⇒ ~RET ◎ If url is null or url's cannot-be-a-base-URL flag is set, terminate these steps.
- 次を与える下で,所与の値を`基本~URL構文解析器$にかける ⇒ ~URLと上書stateの組: ( %~url, `~host$uST ) ◎ Basic URL parse the given value, with url as url and host state as state override.
- `~hrefを更新する$ ◎ Update href.
- `hostname@m
-
取得子は、次を走らせ~MUST: ◎ The hostname attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`~host$url ~EQ ~NULL ] ⇒ ~RET 空~文字列 ◎ If url or url's host is null, return the empty string.
- ~RET `~hostを直列化する$( %~url の`~host$url ) ◎ Return url's host, serialized.
-
設定子は、次を走らせ~MUST: ◎ The hostname attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`基底~URL不可用~flag$url ~EQ ~ON ] ⇒ ~RET ◎ If url is null or url's cannot-be-a-base-URL flag is set, terminate these steps.
- 次を与える下で,所与の値を`基本~URL構文解析器$にかける ⇒ ~URLと上書stateの組: ( %~url, `~hostname$uST ) ◎ Basic URL parse the given value, with url as url and hostname state as state override.
- `~hrefを更新する$ ◎ Update href.
- `port@m
-
取得子は、次を走らせ~MUST: ◎ The port attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`~port$url ~EQ ~NULL ] ⇒ ~RET 空~文字列 ◎ If url or url's port is null, return the empty string.
- ~RET `整数を直列化する$( %~url の`~port$url ) ◎ Return url's port, serialized.
-
設定子は、次を走らせ~MUST: ◎ The port attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url は`~username/~password/~portを持てない$ ] ⇒ ~RET ◎ If url is null or url cannot have a username/password/port, then return.
- ~IF[ 所与の値 ~EQ 空~文字列 ] ⇒ %~url の`~port$url ~SET ~NULL ◎ If the given value is the empty string, then set url's port to null.
- ~ELSE ⇒ 次を与える下で,所与の値を`基本~URL構文解析器$にかける ⇒ ~URLと上書stateの組: ( %~url, `~port$uST ) ◎ Otherwise, basic URL parse the given value, with url as url and port state as state override.
- `~hrefを更新する$ ◎ Update href.
- `pathname@m
-
取得子は、次を走らせ~MUST: ◎ The pathname attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ] ⇒ ~RET 空~文字列 ◎ If url is null, return the empty string.
- ~IF[ %~url の`基底~URL不可用~flag$url ~EQ ~ON ] ⇒ ~RET %~url の`~path$url内の最初の文字列 ◎ If url's cannot-be-a-base-URL flag is set, return the first string in url's path.
- ~IF[ %~url の`~path$url は空である ] ⇒ ~RET 空~文字列 ◎ If url's path is empty, then return the empty string.
- ~RET 次の並び ⇒ `/^l, %~url の`~path$url内の各~文字列を(空~文字列も含め) `/^l で区切って~~連結した結果 ◎ Return "/", followed by the strings in url's path (including empty strings), separated from each other by "/".
-
設定子は、次を走らせ~MUST: ◎ The pathname attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`基底~URL不可用~flag$url ~EQ ~ON ] ⇒ ~RET ◎ If url is null or url's cannot-be-a-base-URL flag is set, terminate these steps.
- %~url の`~path$url ~SET 空~list ◎ Set url's path to the empty list.
- 次を与える下で,所与の値を`基本~URL構文解析器$にかける ⇒ ~URLと上書stateの組: ( %~url, `~path開始$uST ) ◎ Basic URL parse the given value, with url as url and path start state as state override.
- `~hrefを更新する$ ◎ Update href.
- `search@m
-
取得子は、次を走らせ~MUST: ◎ The search attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`~query$url ~IN { ~NULL, 空~文字列 } ] ⇒ ~RET 空~文字列 ◎ If url is null, or url's query is either null or the empty string, return the empty string.
- ~RET 次の並び ⇒ `?^l, %~url の`~query$url ◎ Return "?", followed by url's query.
-
設定子は、次を走らせ~MUST: ◎ The search attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ] ⇒ ~RET ◎ If url is null, terminate these steps.
- ~IF[ 所与の値 ~EQ 空~文字列 ] ⇒ %~url の`~query$url ~SET ~NULL ◎ If the given value is the empty string, set url's query to null.
-
~ELSE: ◎ Otherwise:
- %入力 ~LET 所与の値 ◎ ↓
- ~IF[ %入力 の最初の文字 ~EQ `?^l ] ⇒ %入力 から最初の文字を除去する ◎ Let input be the given value with a single leading "?" removed, if any.
- %~url の`~query$url ~SET 空~文字列 ◎ Set url's query to the empty string.
- 次を与える下で, %入力 を`基本~URL構文解析器$にかける ⇒# 上書符号化法 : 此れの`~node文書$ の`符号化法$doc, ~URLと上書stateの組: ( %~url, `~query$uST ) ◎ Basic URL parse input, with url as url and query state as state override, and this element's node document's document's character encoding as encoding override.
- `~hrefを更新する$ ◎ Update href.
- `hash@m
-
取得子は、次を走らせ~MUST: ◎ The hash attribute's getter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ]~OR[ %~url の`素片$url ~IN { ~NULL, 空~文字列 } ] ⇒ ~RET 空~文字列 ◎ If url is null, or url's fragment is either null or the empty string, return the empty string.
- ~RET 次の並び ⇒ `#^l, %~url の`素片$url ◎ Return "#", followed by url's fragment.
-
設定子は、次を走らせ~MUST: ◎ The hash attribute's setter must run these steps:
- 此れの`~urlを初期化し直す$ ◎ Reinitialize url.
- %~url ~LET 此れの`~url$ ◎ Let url be this element's url.
- ~IF[ %~url ~EQ ~NULL ] ⇒ ~RET ◎ If url is null, then return.
- ~IF[ 所与の値 ~EQ 空~文字列 ] ⇒ %~url の`素片$url ~SET ~NULL ◎ If the given value is the empty string, set url's fragment to null.
-
~ELSE: ◎ Otherwise:
- %入力 ~LET 所与の値 ◎ ↓
- ~IF[ %入力 の最初の文字 ~EQ `#^l ] ⇒ %入力 から最初の文字を除去する ◎ Let input be the given value with a single leading "#" removed, if any.
- %~url の`素片$url ~SET 空~文字列 ◎ Set url's fragment to the empty string.
- 次を与える下で, %入力 を`基本~URL構文解析器$にかける ⇒ ~URLと上書stateの組: ( %~url, `素片$uST ) ◎ Basic URL parse input, with url as url and fragment state as state override.
- `~hrefを更新する$ ◎ Update href.
4.6.4. ~hyperlinkを追うとき
次のいずれかを満たす要素 %要素 は `~navigateできない@ とされる: ◎ An element element cannot navigate if one of the following is true:
- %要素 の`~node文書$は`全部的に作動中$でない ◎ element's node document is not fully active
- [ %要素 は `a$e 要素でない ]~AND[ %要素 は`接続されて$いない ] ◎ element is not an a element and is not connected.
これは、 `form$e 要素を`提出する$ときにも利用される。 `a$e 要素に対する例外は、~web内容との互換性のためにある。 ◎ This is also used by form submission for the form element. The exception for a elements is for compatibility with web content.
~UAは、利用者が要素 %要素 により作成される `~hyperlinkを追う@ ときは、所与の %~hyperlink接尾辞 (省略時は ε )に対し,次の手続きを走らせ~MUST: ◎ When a user follows a hyperlink created by an element subject, optionally with a hyperlink suffix, the user agent must run the following steps:
- ~IF[ %要素 は`~navigateできない$ ] ⇒ ~RET ◎ If subject cannot navigate, then return.
- %文書 ~LET %要素 の`~node文書$ ◎ ↓
- %~source ~LET %文書 が`属する閲覧文脈$ ◎ Let replace be false. ◎ Let source be subject's node document's browsing context.
- %~target属性~値 ~LET 空~文字列 ◎ Let targetAttributeValue be the empty string.
- ~IF[ %要素 は `~a_area$ である ] ⇒ %~target属性~値 ~SET `要素の~targetを取得する$( %要素 ) ◎ If subject is an a or area element, then set targetAttributeValue to the result of getting an element's target given subject.
- %noopener ~LET [ 次が満たされるならば ~T / ~ELSE_ ~F ] ⇒ %要素 の`~HTML~link型$は、~keyword[ `noreferrer$v, `noopener$v ]いずれかを含む ◎ Let noopener be true if subject's link types include the noreferrer or noopener keyword
- ( %~target, %置換- ) ~LET ( %~target属性~値, %~source, %noopener ) を与える下で,`閲覧文脈を選ぶ規則$を適用した結果 ◎ Let target and replace be the result of applying the rules for choosing a browsing context given targetAttributeValue, source, and noopener.
- ~IF[ %~target ~EQ ~NULL ] ⇒ ~RET ◎ If target is null, then return.
- ~IF[ %noopener ~EQ ~T ]~AND[ %置換- ~EQ ~T ] ⇒ %~target の`未所有化~flag$ ~SET ~ON ◎ If noopener and replace are true, then disown target.
- %~URL ~LET [ %要素 の`href$a 属性が与える`~URL$ ]を %文書 に`相対的に構文解析-$した`結果の~URL文字列$ ◎ Parse the URL given by subject's href attribute, relative to subject's node document. ◎ If that is successful, let URL be the resulting URL string.
-
~IF[ %~URL ~EQ ~error ]:
- ~UAの任意選択で ⇒ 何もしないか, または %~target `閲覧文脈$を[ ~UAに特有の~error頁 ]に`~navigate$する `~taskを~queueする$ことにより, 利用者に向けて~errorを報告する
- ~RET
- ~IF[ %~hyperlink接尾辞 ~NEQ ε ] ⇒ %~hyperlink接尾辞 を %~URL に 付加する ◎ If there is a hyperlink suffix, append it to URL.
- %資源 ~LET 次のように設定された新たな`要請$ ⇒# `~url$rq ~SET %~URL, `~referrer施策$rq ~SET %要素 の`referrerpolicy$a 内容~属性の現在の状態 ◎ Let resource be a new request whose url is URL and whose referrer policy is the current state of subject's referrerpolicy content attribute.
- 次を与える下で %~target `閲覧文脈$を %資源 へ`~navigate$する`~taskを~queueする$ ⇒# `置換~可能化~flag$ ~SET %置換- に応じて[ ~T ならば ~ON / ~F ならば ~OFF ], `~source閲覧文脈$ ~SET %~source ◎ Queue a task to navigate the target browsing context to resource. If replace is true, the navigation must be performed with replacement enabled. The source browsing context must be source.
上に示した~taskの`~task源$は、`~DOM操作~task源$とする。 ◎ The task source for the tasks mentioned above is the DOM manipulation task source.
4.6.5. 資源の~download法
資源は、即時に見るのみならず,後の利用のために~downloadするものと意図される事例もある。 そのように指示するには、その資源への`~hyperlink$を作成する `~a_area$ 要素~上に `download$a 属性を指定する。 ◎ In some cases, resources are intended for later use rather than immediate viewing. To indicate that a resource is intended to be downloaded for use later, rather than immediately used, the download attribute can be specified on the a or area element that creates the hyperlink to that resource.
この属性には、値も与えて,~UAが資源を~file~systemに格納するときに利用する~file名も指定できる。 この値は、 `Content-Disposition$h ~HTTP~headerに~filename~parameterがあれば,それにより上書きされる。 `RFC6266$r ◎ The attribute can furthermore be given a value, to specify the file name that user agents are to use when storing the resource in a file system. This value can be overridden by the `Content-Disposition` HTTP header's filename parameters. [RFC6266]
非同一生成元の状況においては、 `download$a 属性は[ 特定的には、~disposition型として `attachment^v を伴うような `Content-Disposition$h ~HTTP~header ]と組合せる必要がある — 場合によっては無法な活動について 利用者~向けに警告されるのを避けるため。 (これは、利用者が全部的に解することなく,敏感な個人的/機密的~情報を~downloadすることから,利用者を保護する。) ◎ In cross-origin situations, the download attribute has to be combined with the `Content-Disposition` HTTP header, specifically with the attachment disposition type, to avoid the user being warned of possibly nefarious activity. (This is to protect users from being made to download sensitive personal or confidential information without their full understanding.)
~UAは、利用者が ある要素 %要素 により作成される~hyperlinkを `~download@ するときは、所与の %~hyperlink接尾辞 (省略時は ε )に対し,次の手続きを走らせ~MUST: ◎ When a user downloads a hyperlink created by an element subject, optionally with a hyperlink suffix, the user agent must run the following steps:
- ~IF[ %要素 は`~navigateできない$ ] ⇒ ~RET ◎ If subject cannot navigate, then return.
- %~URL ~LET [ %要素 の`href$a 属性が与える`~URL$ ]を[ %要素 の`~node文書$ ]に`相対的に構文解析-$した結果 ◎ Parse the URL given by subject's href attribute, relative to subject's node document.
-
~IF[ %~URL ~EQ ~error ]:
- ~UAの任意選択で ⇒ ~UAに特有の~error頁に`~navigate$することにより,利用者に向けて~errorを報告する (または、~errorを無視して何もしない)
- ~RET
- ~IF[ %~hyperlink接尾辞 ~NEQ ε ] ⇒ %~hyperlink接尾辞 を %~URL に 付加する ◎ If there is a hyperlink suffix, append it to URL.
-
この段は`並列的$に走らす: ◎ Run these steps in parallel:
- %要請 ~LET 次のように設定された新たな`要請$ ⇒# `~url$rq ~SET %~URL, `~client$rq ~SET `入口~設定群~obj$, `起動元$rq ~SET `download^l, `行先$rq ~SET 空~文字列, `同期~flag$ ~SET ~OFF, `~URL資格証~利用~flag$rq ~SET ~OFF ◎ Let request be a new request whose url is URL, client is entry settings object, initiator is "download", destination is the empty string, and whose synchronous flag and use-URL-credentials flag are set.
- %要請 により`~fetch$された結果を`~downloadとして$取扱う ◎ Handle the result of fetching request as a download.
~UAは、~fetchして得られた資源を `~downloadとして@ 取扱うときは、資源が成功裡に得られた場合は,利用者に対し,後の利用にために その資源を保存する仕方を供するべきである。 他の場合、利用者に~fileの~download時における問題を報告するべきである。 ◎ When a user agent is to handle a resource obtained from a fetch as a download, it should provide the user with a way to save the resource for later use, if a resource is successfully obtained; or otherwise should report any problems downloading the file to the user.
~UAは、資源 %資源 を`~downloadとして$取扱う際に~file名が必要なときは、次の~algoを利用して,それを選定するべきである: ◎ If the user agent needs a file name for a resource being handled as a download, it should select one using the following algorithm.
この~algoは、信用-済みでない~siteから~fileを~downloadするときに孕まれる 保安~上の危険性を軽減することが意図されているので、~UAには,従うことが強く督促される。 ◎ This algorithm is intended to mitigate security dangers involved in downloading files from untrusted sites, and user agents are strongly urged to follow it.
-
%~file名 ~LET 次の下位手続きを走らせた結果: ◎ Let filename be the void value.
- ( %資源~file名, %添付 ) ~LET ( ε, ~F ) ◎ ↓
-
~IF[ %資源 には `Content-Disposition$h ~header `RFC6266$r %H が伴われている ]:
- ~IF[ %H は ~filename情報を含んでいる ] ⇒ %資源~file名 ~SET その~filename
- ~IF[ %H には~disposition型として `attachment^v が指定されている ] ⇒ %添付 ~SET ~T
- ~IF[ %添付 ~EQ ~T ]~AND[ %資源~file名 ~NEQ ε ] ⇒ ~RET %資源~file名 ◎ then let filename have the value specified by the header, and jump to the step labeled sanitize below. [RFC6266]
- %~UI生成元 ~LET ε ◎ Let interface origin\
- ~IF[[ `~download$ / ~downloadさせるような`~navigate$動作 ]を起動した`文書$はある ] ⇒ %~UI生成元 ~SET その文書の`生成元$ ◎ be the origin of the Document in which the download or navigate action resulting in the download was initiated, if any.
- %資源~生成元 ~LET [[ %資源 の~URLの`~scheme$url成分 ~EQ `data^sc ]ならば %~UI生成元 / ~ELSE_ %資源 の~URLの`生成元$ ] ◎ Let resource origin be the origin of the URL of the resource being downloaded, unless that URL's scheme component is data, in which case let resource origin be the same as the interface origin, if any.
- `演算は信用-済み^V ~LET [ 次が満たされるならば ~T / ~ELSE_ ~F ] ⇒ [ %~UI生成元 ~EQ ε ]~OR[ ( %資源~生成元, %~UI生成元 ) は`同一生成元$である ] ◎ If there is no interface origin, then let trusted operation be true. Otherwise, let trusted operation be true if resource origin is the same origin as interface origin, and false otherwise.
- ~IF[ `演算は信用-済み^V ~EQ ~T ]~AND[ %資源~file名 ~NEQ ε ] ⇒ ~RET %資源~file名 ◎ If trusted operation is true and the resource has a `Content-Disposition` header and that header includes file name information, then let filename have the value specified by the header, and jump to the step labeled sanitize below. [RFC6266]
- ~IF[ `演算は信用-済み^V ~EQ ~T ]~OR[ %添付 ~EQ ~T ] ⇒ ~IF[ ~downloadは `~a_area$ 要素 %E により作成された`~hyperlink$から起動された ]~AND[ %E は ~downloadが起動された時点で `download$a 属性 %A を有していた ]~AND[ %A の 値 ~NEQ 空~文字列 ] ⇒ ~RET %A の 値 ◎ If the download was not initiated from a hyperlink created by an a or area element, or if the element of the hyperlink from which it was initiated did not have a download attribute when the download was initiated, or if there was such an attribute but its value when the download was initiated was the empty string, then jump to the step labeled no proposed file name. ◎ Let proposed filename have the value of the download attribute of the element of the hyperlink that initiated the download at the time the download was initiated. ◎ If trusted operation is true, let filename have the value of proposed filename, and jump to the step labeled sanitize below. ◎ If the resource has a `Content-Disposition` header and that header specifies the attachment disposition type, let filename have the value of proposed filename, and jump to the step labeled sanitize below. [RFC6266]
- ~IF[ `演算は信用-済み^V ~EQ ~T ]~OR[ 利用者は %資源 を~downloadする選好を指示した ] ⇒ ~RET %資源 の`~URL$から~UAにより定義される方式で導出される値 ◎ No proposed file name: If trusted operation is true, or if the user indicated a preference for having the resource in question downloaded, let filename have a value derived from the URL of the resource in a user-agent-defined manner, and jump to the step labeled sanitize below.
-
敵対的かもしれない非同一生成元~downloadから,利用者を安全に防護するため、~UAにより定義される方式で動作する — ~downloadは中止されなかった場合は ⇒ ~RET 利用者が選好した~file名, または ~UAにより選定された~file名 ◎ Act in a user-agent-defined manner to safeguard the user from a potentially hostile cross-origin download. If the download is not to be aborted, then let filename be set to the user's preferred file name or to a file name selected by the user agent, and jump to the step labeled sanitize below.
~algoがこの段まで達した場合、次が含意されることになる:
- ~downloadされている %資源 の生成元と, ~downloadを始めた生成元とは,異なる。
- %資源 の生成元は、 %資源 を~download用としていない( `Content-Disposition^h は伴われていないなど)。
- ~downloadは利用者が(右~click等により)意図的に起動したものでない。
これは、~downloadを誘発するために `download$a 属性が利用されたか, %資源 が~UAが~supportする型でないことからも生じ得る。
◎ If the algorithm reaches this step, then a download was begun from a different origin than the resource being downloaded, and the origin did not mark the file as suitable for downloading, and the download was not initiated by the user. This could be because a download attribute was used to trigger the download, or because the resource in question is not of a type that the user agent supports.これは危険にもなり得る。 具体例として、ある敵対的~server %M が,~download~linkを用意して — それは、実際には一定割合の利用者が利用している別~site %B への~linkであるが — その~dataは %M からのものと~~考えるよう利用者を騙して(例えば何かの “応募券” )、 %B を常用している利用者が そうと知らずに その~linkを通して( “応募券” に見せかけられた)私的~情報を~downloadして,それを敵対的~server( %M と同じ必要はない)に向けて~uploadする( “応募する” )よう~~仕向けることにより、その情報を取得しようと試行することもできる。 ◎ This could be dangerous, because, for instance, a hostile server could be trying to get a user to unknowingly download private information and then re-upload it to the hostile server, by tricking the user into thinking the data is from the hostile server.
したがって、[ 当の %資源 が,まったく異なる~sourceから来ていること ]について,何らかの方法で通知されることが、利用者にとっての関心事になる。 加えて,利用者の混同を防止するため、敵対的かもしれない %~UI生成元 から示唆された~file名は,無視されるべきである。 ◎ Thus, it is in the user's interests that the user be somehow notified that the resource in question comes from quite a different source, and to prevent confusion, any suggested file name from the potentially hostile interface origin should be ignored.
- ~UAの任意選択で ⇒ 利用者が %~file名 に手を加えられるようにする。 例えば,~UAは、前~段で決定された %~file名 を既定の値として供して,利用者に~file名を手入力してもらうこともできる。 ◎ Sanitize: Optionally, allow the user to influence filename. For example, a user agent could prompt the user for a file name, potentially providing the value of filename as determined above as a default value.
-
%~file名 を局所~file~systemに相応しいものに調整する ◎ Adjust filename to be suitable for the local file system.
例えば、~file名として合法でない文字を除去したり,頭部/尾部の空白を削ることも孕まれる。 ◎ For example, this could involve removing characters that are not legal in file names, or trimming leading and trailing whitespace.
- ~IF[ ~platform規約において,`拡張子$から ~file~system上の~fileの型を決定する仕方はない ] ⇒ ~RET %~file名 ◎ If the platform conventions do not in any way use extensions to determine the types of file on the file system, then return filename as the file name.
- %~Content-Type型 ~LET[ %資源 の`~Content-Type~metadata$により与えられる型が既知であるならば その型 / ~ELSE_ ε ] ◎ Let claimed type be the type given by the resource's Content-Type metadata, if any is known.\
-
~IF[ %~file名 には`拡張子$がある ]~AND[ その拡張子に対応する既知の`~MIME型$ %拡張子~型 がある ]: ◎ Let named type be the type given by filename's extension, if any is known. For the purposes of this step, a type is a mapping of a MIME type to an extension.
- ~IF[ %拡張子~型 は利用者の選好に整合する(例: %~file名 は 利用者による手入力により決定された) ] ⇒ ~RET %~file名 ◎ If named type is consistent with the user's preferences (e.g. because the value of filename was determined by prompting the user), then return filename as the file name.
- ~IF[ %~Content-Type型 ~EQ %拡張子~型 (すなわち, %資源 の`~Content-Type~metadata$が与える型は %~file名 の`拡張子$が与える型に整合する) ] ⇒ ~RET %~file名 ◎ If claimed type and named type are the same type (i.e. the type given by the resource's Content-Type metadata is consistent with the type given by filename's extension), then return filename as the file name.
- ~IF[ %~Content-Type型 に対応する既知の`拡張子$がある ] ⇒ %~file名 に その拡張子を追加する ◎ If the claimed type is known, then alter filename to add an extension corresponding to claimed type.
-
~ELIF[ %拡張子~型 は危険になり得ると既知である ] ⇒ ~UAの任意選択で ⇒ %~file名 に既知の安全な`拡張子$(例 `.txt^l)を追加する
例えば、~platform規約により,[ ~native~executable / ~shell-script / ~HTML~app / ~executable-macroを含み得る文書 ]として扱われるものが該当する。
◎ Otherwise, if named type is known to be potentially dangerous (e.g. it will be treated by the platform conventions as a native executable, shell script, HTML application, or executable-macro-capable document) then optionally alter filename to add a known-safe extension (e.g. ".txt").注記: この段は,~executableを~downloadできなくするので、欲されないかもしれない。 実装者は、常に,この問題0について保安~と利便性との兼ね合いをとることが強いられる。 ◎ This last step would make it impossible to download executables, which might not be desirable. As always, implementers are forced to balance security and usability in this matter.
- ~RET %~file名 ◎ Return filename as the file name.
この~algoの目的における~fileの `拡張子@ とは、当の~platform規約にて ~fileの型を識別するために利用するものとされている,~file名の一部分である。 例えば多くの~OSは、~file名の最後の~dot ( `.^l )に後続する部分を利用して,~fileの型, および ~fileを開いたり実行する方式を決定している。 ◎ For the purposes of this algorithm, a file extension consists of any part of the file name that platform conventions dictate will be used for identifying the type of the file. For example, many operating systems use the part of the file name following the last dot (".") in the file name to determine the type of the file, and from that the manner in which the file is to be opened or executed.
~UAは、結果の~fileを利用者の~file~system内に格納する場所を決めるときには,[ %資源 自身 / %資源 の `~URL$ / `download$a 属性 ]から供される~directoryや~path情報を無視するべきである。 ◎ User agents should ignore any directory or path information provided by the resource itself, its URL, and any download attribute, in deciding where to store the resulting file in the user's file system.
4.6.5.1. ~hyperlinkの聴取
~UAは、利用者が `~a_area$ 要素 %要素 により作成された`~hyperlink$を追うときに,次を走らせ~MUST:
- ~IF[ 要素は `ping$a 属性を有していない ] ⇒ ~RET
- %文書 ~LET %要素 の`~node文書$
- %~target~URL ~LET %要素 の `href$a 属性の値を %文書 に`相対的に構文解析-$した`結果の~URL文字列$
- ~IF[ %~target~URL ~EQ ~error ] ⇒ ~RET
-
`~ASCII空白で分割する$( `ping$a 属性の値 ) — その結果を成す ~EACH ( %~token ) に対し:
- %~ping~URL ~LET %~token を %文書 に`相対的に構文解析-$した`結果の~URL~record$
- ~IF[ %~ping~URL ~EQ ~error ] ⇒ ~CONTINUE
- ~IF[ %~ping~URL の`~scheme$url ~NIN `~HTTP_S~scheme$ ] ⇒ ~CONTINUE
- ~UAの任意選択で ⇒ ~CONTINUE (例えば~UAは、利用者の選好に則って,一部または全部の~ping~URLを無視したいと望むかもしれない)
- ( %~ping~URL , %~target~URL, %文書 ) を与える下で,下に与える `~ping~URLを処理する手続き^i を走らす
~ping~URLを処理する手続きは、所与の ( %~ping~URL , %~target~URL, %文書 ) に対し,次を走らす: ◎ ↑
- %要請 ~LET 次のように設定された新たな`要請$ ⇒# `~url$rq ~SET %~ping~URL, `~method$rq ~SET `POST^h, `本体$rq ~SET `PING^h, `~client$rq ~SET %文書 の`環境~設定群~obj$, `行先$rq ~SET 空~文字列, `資格証~mode$rq ~SET `include^l, `~referrer$rq ~SET `no-referrer^l, `~URL資格証~利用~flag$rq ~SET ~ON ◎ Let request be a new request whose url is ping URL, method is `POST`, body is `PING`, client is the environment settings object of the Document containing the hyperlink, destination is the empty string, credentials mode is "include", referrer is "no-referrer", and whose use-URL-credentials flag is set. ◎ Let target URL be the resulting URL string obtained from parsing the value of the element's href attribute and then:
- ~IF[ ( %文書 の`~URL$doc, %~ping~URL ) は`同一生成元$である ]~OR[ %文書 の`~HTTPS状態$doc ~EQ `none^l ] ⇒ %要請 の`~header~list$rqに`~headerを付加する$( `Ping-From$h / %文書 の`~URL$doc ) ◎ If the URL of the Document object containing the hyperlink being audited and ping URL have the same origin ◎ If the origins are different, but the HTTPS state of the Document containing the hyperlink being audited is "none" ◎ • request must include a `Ping-From` header with, as its value, the URL of the document containing the hyperlink, and a `Ping-To` HTTP header with, as its value, the target URL. ◎ Otherwise ◎ • request must include a `Ping-To` HTTP header with, as its value, target URL. request does not include a `Ping-From` header.
- %要請 の`~header~list$rqに`~headerを付加する$( `Ping-To$h / %~target~URL ) ◎ ↑
- %要請 を`~fetch$する ◎ Fetch request.
これは、首~fetchと`並列的$に行われて~MAY。 また、その~fetchの結果と独立になる。 ◎ This may be done in parallel with the primary fetch, and is independent of the result of that fetch.
~UAは、利用者が この挙動を調整できるようにするべきである。 例えば、~HTTP `Referer$h ~headerの送信を不能化する設定-時に,それも伴わせるなど。 ~UAは、利用者の選好に基づいて,[ `ping$a 属性をまるごと, あるいは ~list内の各~URLについて選択的に(例えば,第三者主体~URLなど) ]`無視-$して~MAY。 これは、上の手続きに明示的に組み込まれている。 ◎ User agents should allow the user to adjust this behavior, for example in conjunction with a setting that disables the sending of HTTP `Referer` (sic) headers. Based on the user's preferences, UAs may either ignore the ping attribute altogether, or selectively ignore URLs in the list (e.g. ignoring any third-party URLs); this is explicitly accounted for in the steps above.
~UAは、応答~内に返された~message本体は無視し~MUST。 ~UAは、応答~本体を受信し始めた時点で,接続を早々に閉じて~MAY。 ◎ User agents must ignore any entity bodies returned in the responses. User agents may close the connection prematurely once they start receiving a response body.
`ping$a 属性が在する場合、~UAは、利用者に,その~hyperlinkを追うと,副次的な要請も背後で送信されることを — 場合によっては、実際の~target~URL 【~ping~URL?】 の~listも含めて — 明瞭に指示するべきである。 ◎ When the ping attribute is present, user agents should clearly indicate to the user that following the hyperlink will also cause secondary requests to be sent in the background, possibly including listing the actual target URLs.
例えば,視覚的~UAは、~hyperlinkの実際の~URLに加えて,~status-barや~tooltip内に ~target~ping~URLの~hostnameを含めることもできる。 ◎ For example, a visual user agent could include the hostnames of the target ping URLs along with the hyperlink's actual URL in a status bar or tooltip.
注記: `ping$a 属性は、次の様な既存技術とかぶっている: ~HTTP~redirect/ [ どの ~site外( off-site )~linkが最も人気か追跡する / 広告主が 個々の~linkの~click率を追跡する ]ことを許容するような~Web頁における~JS。 ◎ The ping attribute is redundant with pre-existing technologies like HTTP redirects and JavaScript in allowing Web pages to track which off-site links are most popular or allowing advertisers to track click-through rates.
しかしながら `ping$a 属性は、それらの代替にない利点を,利用者に供する: ◎ However, the ping attribute provides these advantages to the user over those alternatives:
- 利用者は、最終的な~target~URLを隠されずに見れるようになる。 ◎ It allows the user to see the final target URL unobscured.
- ~UAは、帯域外の通知について,利用者~向けに伝えれるようになる。 ◎ It allows the UA to inform the user about the out-of-band notifications.
- 利用者は、下層の~link機能性を失うことなく,その種の通知を不能化できるようになる。 ◎ It allows the user to disable the notifications without losing the underlying link functionality.
- ~UAは、~target頁をより高速に読込めるよう,可用な~network帯域幅の利用を最適化できるようになる。 ◎ It allows the UA to optimize the use of available network bandwidth so that the target page loads faster.
したがって,この特色機能なしで利用者を追跡することも可能ではあるが、作者には, `ping$a 属性を利用して ~UAが利用者~体験をより透明にすることが奨励される。 ◎ Thus, while it is possible to track users without this feature, authors are encouraged to use the ping attribute so that the user agent can make the user experience more transparent.
4.6.6. 各種~link型
次の表に、この仕様にて定義される各種~link型を,それぞれに対応する~keywordとともに要約する。 この表は規範的でない — 各種~link型の実際の定義は、この節の各~下位節に与えられる。 ◎ The following table summarizes the link types that are defined by this specification, by their corresponding keywords. This table is non-normative; the actual definitions for the link types are given in the next few sections.
この節における用語 `参照先~資源^i†, `現在の文書^i は、順に,当の~linkを表現している要素により識別される資源, 要素~自身が見出される資源を指す。 ◎ In this section, the term referenced document refers to the resource identified by the element representing the link, and the term current document refers to the resource within which the element representing the link finds itself.
【† 原文は “参照先~文書( referenced document )” とされているが、この訳では “参照先~資源” に改める。 】
[ `link$e / `~a_area$ ]要素に どの~link型が適用されるかを決定するときは、要素の `rel^a 属性を`~ASCII空白で分割-$し~MUST。 結果の各~tokenが、要素に適用される各~link型に対応する~keywordを与える。 ◎ To determine which link types apply to a link, a, or area element, the element's rel attribute must be split on ASCII whitespace. The resulting tokens are the keywords for the link types that apply to that element.
他から指定される場合を除き,同じ `rel$a 属性に 同じ~keywordが重ねて指定されては~MUST_NOT。 ◎ Except where otherwise specified, a keyword must not be specified more than once per rel attribute.
表に後続する一部の下位節では、~keyword用の同義語も~listされることもある。 指示された同義語(例えば,~keyword `copyright^l )は、指定されるとおりに ~UAにより取扱われることになるが,文書~内に利用されては~MUST_NOT。 ◎ Some of the sections that follow the table below list synonyms for certain keywords. The indicated synonyms are to be handled as specified by user agents, but must not be used in documents (for example, the keyword "copyright").
どの~keywordも,常に`~ASCII大小無視$であり、そのように比較され~MUST。 ◎ Keywords are always ASCII case-insensitive, and must be compared as such.
したがって, `rel="next"^c と `rel="NEXT"^c とは、同じになる。 ◎ Thus, rel="next" is the same as rel="NEXT".
~keywordには `~body-ok@ とされるものもある。 それは、 `link$e 要素が`~body内に許容され$るかどうかに影響する。 この仕様では、次に挙げる~keywordが`~body-ok$であると定義される ⇒# `dns-prefetch$v, `modulepreload$v, `pingback$v, `preconnect$v, `prefetch$v, `preload$v, `prerender$v, `stylesheet$v ◎ Keywords that are body-ok affect whether link elements are allowed in the body. The body-ok keywords defined by this specification are dns-prefetch, modulepreload, pingback, preconnect, prefetch, preload, prerender, and stylesheet.\
他の仕様も `~body-ok$なる~keywordを定義し得る。 ◎ Other specifications can also define body-ok keywords.
~link型 | `link$e 上の効果 | `~a_area$ 上の効果 | `~body-ok$ | 概略的な記述 |
---|---|---|---|---|
`alternate$v | `~hyperlink$ | `~hyperlink$ | · | 現在の文書の代替~表現を指す~linkを与える。 ◎ Gives alternate representations of the current document. |
`canonical$v | `~hyperlink$ | 非許容 | · | 現在の文書に選好される~URLを与える。 ◎ Gives the preferred URL for the current document. |
`author$v | `~hyperlink$ | `~hyperlink$ | · | 現在の文書や記事の作者を指す~linkを与える。 ◎ Gives a link to the author of the current document or article. |
`bookmark$v | 非許容 | `~hyperlink$ | · | 最も近い先祖~sectionの~permalinkを与える。 ◎ Gives the permalink for the nearest ancestor section. |
`dns-prefetch$v | `外部~資源~link$ | 非許容 | Yes | ~UAは、参照先~資源の`生成元$に対し,先取的に~DNS解決を遂行するべきであることを指定する。 ◎ Specifies that the user agent should preemptively perform DNS resolution for the target resource's origin. |
`external$v | 非許容 | `注釈$ | · | 参照先~資源は,現在の文書と同じ~siteの一部でないことを指示する。 ◎ Indicates that the referenced document is not part of the same site as the current document. |
`help$v | `~hyperlink$ | `~hyperlink$ | · | 文脈に応じた~helpへの~linkを供する。 ◎ Provides a link to context-sensitive help. |
`icon$v | `外部~資源~link$ | 非許容 | · | 現在の文書を表現する~iconを取込む。 ◎ Imports an icon to represent the current document. |
`modulepreload$v | `外部~資源~link$ | 非許容 | Yes | ~UAは、`~module~script$を先取的に~fetchした上で,後の評価~用に文書の`~module~map$に格納し~MUSTことを指定する。 また,【~UAの】任意選択で、~moduleの依存物も~fetchできる。 ◎ Specifies that the user agent must preemptively fetch the module script and store it in the document's module map for later evaluation. Optionally, the module's dependencies can be fetched as well. |
`license$v | `~hyperlink$ | `~hyperlink$ | · | 現在の文書の主要な内容は,[ 参照先~資源に述べられる著作権~licenseの下にある ]ことを指示する。 ◎ Indicates that the main content of the current document is covered by the copyright license described by the referenced document. |
`next$v | `~hyperlink$ | `~hyperlink$ | · | 現在の文書は,ある 文書~列に属していて、参照先~資源は,その連列における次の文書であることを指示する。 ◎ Indicates that the current document is a part of a series, and that the next document in the series is the referenced document. |
`nofollow$v | 非許容 | `注釈$ | · | 現在の文書の著作者/版元は、参照先~資源を承認していないことを指示する。 ◎ Indicates that the current document's original author or publisher does not endorse the referenced document. |
`noopener$v | 非許容 | `注釈$ | · | ~hyperlinkを追うことで作成された`閲覧文脈$に対しては、その`未所有化~flag$を ~ON にすることを指示する。 ◎ Indicates that any browsing context created by following the hyperlink is disowned. |
`noreferrer$v | 非許容 | `注釈$ | · | ~hyperlinkを追うことで作成された`閲覧文脈$に対しては、その`未所有化~flag$を ~ON にすること, および ~HTTP `Referer$h ~headerは取得-【送信-?】しなくなることを指示する。 ◎ Indicates that any browsing context created by following the hyperlink is disowned and will not get a `Referer` (sic) header. |
`pingback$v | `外部~資源~link$ | 非許容 | Yes | 現在の文書への~pingbackを取扱う~pingback~serverの~addressを与える。 ◎ Gives the address of the pingback server that handles pingbacks to the current document. |
`preconnect$v | `外部~資源~link$ | 非許容 | Yes | ~UAは、参照先~資源の`生成元$に先取的に接続するべきであることを指定する。 ◎ Specifies that the user agent should preemptively connect to the target resource's origin. |
`prefetch$v | `外部~資源~link$ | 非許容 | Yes | ~UAは、参照先~資源を先取的に`~fetch$して~cacheするべきであることを指定する — ~~後続する`~navi$に要求されると見込まれるので。 ◎ Specifies that the user agent should preemptively fetch and cache the target resource as it is likely to be required for a followup navigation. |
`preload$v | `外部~資源~link$ | 非許容 | Yes | ~UAは、 `as$aL 属性が与える`行先の素$(および それに`対応する$pD`行先$rqに結付けられている`優先度$rq)に則って,現在の`~navi$用に参照先~資源を先取的に`~fetch$して~cacheし~MUSTことを指定する。 ◎ Specifies that the user agent must preemptively fetch and cache the target resource for current navigation according to the potential destination given by the as attribute (and the priority associated with the corresponding destination). |
`prerender$v | `外部~資源~link$ | 非許容 | Yes | 未来の応答がより高速に送達されるように,参照先~資源を先取的に`~fetch$して処理するべきであることを指定する。 ◎ Specifies that the user agent should preemptively fetch the target resource and process it in a way that helps deliver a faster response in the future. |
`prev$v | `~hyperlink$ | `~hyperlink$ | · | 現在の文書は,ある文書~列に属していて、参照先~資源は,その連列における前の文書であることを指示する。 ◎ Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document. |
`search$v | `~hyperlink$ | `~hyperlink$ | · | 現在の文書や関係する各~頁にわたって探索するときに利用できる資源への~linkを与える。 ◎ Gives a link to a resource that can be used to search through the current document and its related pages. |
`stylesheet$v | `外部~資源~link$ | 非許容 | Yes | ~stylesheetを取込む。 ◎ Imports a style sheet. |
`tag$v | 非許容 | `~hyperlink$ | · | 現在の文書に適用する ~tag(所与の~addressにより識別される)を与える。 ◎ Gives a tag (identified by the given address) that applies to the current document. |
4.6.6.1. ~link型 `alternate^v
`alternate$v ~keywordは、[ `link$e / `~a_area$ ]要素に利用されて~MAY。 ◎ The alternate keyword may be used with link, a, and area elements.
この~keywordの意味は、他の属性の値に依存する: ◎ The meaning of this keyword depends on the values of the other attributes.
- 要素は `link$e 要素であって, その `rel$aL 属性は ~keyword `stylesheet$v を包含する場合: ◎ If the element is a link element and the rel attribute also contains the keyword stylesheet
- `alternate$v ~keywordは、`stylesheet$v ~keywordの意味を,そこに述べられる仕方で改変する。 `alternate$v ~keyword自身は、~linkを作成しない。 ◎ The alternate keyword modifies the meaning of the stylesheet keyword in the way described for that keyword. The alternate keyword does not create a link of its own.
-
次の一連の `link$e 要素は、いずれも~stylesheetを供する: ◎ Here, a set of link elements provide some style sheets:
<!-- ~~常備の~stylesheet ◎ a persistent style sheet --> <link rel="stylesheet" href="default.css"> <!-- 代替-~stylesheetのうち,選好されるもの(既定で有効化される) ◎ the preferred alternate style sheet --> <link rel="stylesheet" href="green.css" title="緑系スタイル"> <!-- 他の代替-~stylesheet(既定では有効化されない) ◎ some alternate style sheets --> <link rel="alternate stylesheet" href="contrast.css" title="高コントラスト"> <link rel="alternate stylesheet" href="big.css" title="大きいフォント"> <link rel="alternate stylesheet" href="wide.css" title="幅広スクリーン用">
- `alternate$v ~keywordが[[ `application/rss+xml^v / `application/atom+xml^v ]いずれかの値に設定されている `type$a 属性 ]と併用されている場合 (A): ◎ If the alternate keyword is used with the type attribute set to the value application/rss+xml or the value application/atom+xml
- この~keywordは、~syndication-feed( Web syndication feed )を参照する`~hyperlink$を作成する(現在の頁と正確に同じ内容を~syndicateしていることは必要とされないが)。 ◎ The keyword creates a hyperlink referencing a syndication feed (though not necessarily syndicating exactly the same content as the current page).
- ~feedの自動発見( autodiscovery )の目的においては、~UAは,同じ条件 (A) に該当する 文書~内のすべての `link$e 要素を考慮するべきである。 既定の~syndication-feedの概念を備えていない~UAは、該当する要素のうち`木~順序$で最初のものを既定として利用するべきである。 ◎ For the purposes of feed autodiscovery, user agents should consider all link elements in the document with the alternate keyword used and with their type attribute set to the value application/rss+xml or the value application/atom+xml. If the user agent has the concept of a default syndication feed, the first such element (in tree order) should be used as the default.
-
次の `link$e 要素は、ある~blog用の~syndication-feedを与える: ◎ The following link elements give syndication feeds for a blog:
<link rel="alternate" type="application/atom+xml" href="posts.xml" title="Cool Stuff Blog"> <link rel="alternate" type="application/atom+xml" href="posts.xml?category=robots" title="Cool Stuff Blog: robots category"> <link rel="alternate" type="application/atom+xml" href="comments.xml" title="Cool Stuff Blog: Comments">
~feedの自動発見に携わる~UAは、これらの `link$e 要素を — 最初のそれを既定として — 利用することになる(適用-可能な所では)。 ◎ Such link elements would be used by user agents engaged in feed autodiscovery, with the first being the default (where applicable).
-
`a$e 要素を利用して、様々な~syndication-feedを利用者に提供する例: ◎ The following example offers various different syndication feeds to the user, using a elements:
<p>Atom ~feedを利用して惑星データベースにアクセスできる:</p> <ul> <li><a rel="alternate" type="application/atom+xml" href="recently-visited-planets.xml">最近訪れた惑星</a></li> <li><a rel="alternate" type="application/atom+xml" href="known-bad-planets.xml">~~既知の不良な惑星</a></li> <li><a rel="alternate" type="application/atom+xml" href="unexplored-planets.xml">未踏の惑星</a></li> </ul>
これらの~linkは、~feedの自動発見には利用されないことになる。 ◎ These links would not be used in feed autodiscovery.
- 他の場合: ◎ Otherwise
- `alternate$v ~keywordは、現在の文書の代替~表現を参照している`~hyperlink$を作成する。 ◎ The keyword creates a hyperlink referencing an alternate representation of the current document.
-
[ `hreflang$a, `type$a ]属性が、参照先~資源の資質を与える: ◎ The nature of the referenced document is given by the hreflang, and type attributes.
- `hreflang$a 属性と併用されていて,その属性の値が`文書~要素$の`言語$から相違する場合、参照先~資源は 翻訳であることを指示する。 ◎ If the alternate keyword is used with the hreflang attribute, and that attribute's value differs from the document element's language, it indicates that the referenced document is a translation.
- `type$a 属性と併用された場合、参照先~資源は 指定された形式による 現在の文書の別形式であることを指示する。 ◎ If the alternate keyword is used with the type attribute, it indicates that the referenced document is a reformulation of the current document in the specified format.
`hreflang$a, `type$a 両~属性を組合せて指定することもできる。 ◎ The hreflang and type attributes can be combined when specified with the alternate keyword.
-
同じ頁の複数の~version — 代替~形式を利用するもの, 他の言語~用のもの, 他の媒体~用のもの — を指定する例: ◎ The following example shows how you can specify versions of the page that use alternative formats, are aimed at other languages, and that are intended for other media:
<link rel=alternate href="/en/html" hreflang=en type=text/html title="英語版 HTML" > <link rel=alternate href="/ja/html" hreflang=ja type=text/html title="日本語版 HTML" > <link rel=alternate href="/en/html/print" hreflang=en type=text/html media=print title="英語版 HTML (印刷用)" > <link rel=alternate href="/ja/html/print" hreflang=ja type=text/html media=print title="日本語版 HTML (印刷用)" > <link rel=alternate href="/en/pdf" hreflang=en type=application/pdf title="英語版 PDF" > <link rel=alternate href="/ja/pdf" hreflang=ja type=application/pdf title="日本語版 PDF" >
- この関係性は、推移的である — すなわち,ある文書が~link型 `alternate$v で他の複数の文書に~linkしている場合、それらの文書が~link~~元の文書の代替~表現であることのみならず,それらの文書すべてが互いの代替~表現であることも含意する。 ◎ This relationship is transitive — that is, if a document links to two other documents with the link type "alternate", then, in addition to implying that those documents are alternative representations of the first document, it is also implying that those two documents are alternative representations of each other.
4.6.6.3. ~link型 `bookmark^v
`bookmark$v ~keywordは:
- `~a_area$ 要素に利用されて~MAY。
- `~hyperlink$を作成する。
`bookmark$v ~keywordは、次のもの用の~permalinkを与える ⇒ 要素に先祖 `article$e 要素が[ 在るならば それらのうち 最も近いもの / 無いならば 要素が 直に属する~section ] ◎ The bookmark keyword gives a permalink for the nearest ancestor article element of the linking element in question, or of the section the linking element is most closely associated with, if there are no ancestor article elements.
次の~code片には、 3 個の~permalinkがある。 ~UAは、各~permalinkの~~所在から,それを文書のどの部位に適用するかを決定できる。 ◎ The following snippet has three permalinks. A user agent could determine which permalink applies to which part of the spec by looking at where the permalinks are given.
... <body> <h1>~permalinkの例</h1> <div id="a"> <h2>最初の例</h2> <p><a href="a.html" rel="bookmark">この~permalinkは、最初の `H2^e から 次の `H2^e までの内容のみに適用される。</a> `DIV^e は正確には,その~sectionに一致しないが、概ねそれに対応する。</p> </div> <h2>二番目の例</h2> <article id="b"> <p><a href="b.html" rel="bookmark">この~permalinkは外縁の `ARTICLE^e 要素に適用される</a> (それは例えば~blog投稿にもなり得る)。</p> <article id="c"> <p><a href="c.html" rel="bookmark">この~permalinkは内縁の `ARTICLE^e に適用される</a> (それは例えば~blog~commentにもなり得る)。</p> </article> </article> </body> ...
4.6.6.4. ~link型 `canonical^v
`canonical$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `~hyperlink$を作成-する。
`canonical$v ~keywordは、[ `href$aL 属性に与えた~URLが,現在の文書に選好される~URLである ]ことを指示する。 それは、検索engineが重複する内容を抑制し易くするためにある — 詳細は、 `The Canonical Link Relation^cite 仕様に述べられる。 `RFC6596$r ◎ The canonical keyword indicates that URL given by the href attribute is the preferred URL for the current document. That helps search engines reduce duplicate content, as described in more detail in The Canonical Link Relation specification. [RFC6596]
4.6.6.5. ~link型 `dns-prefetch^v
`dns-prefetch$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
- `~body-ok$である。
`dns-prefetch$v ~keywordは、[ 利用者は,参照先~資源を要求する見込みが高いので、[ ~UAが, 資源の`生成元$用に~DNS解決を先取的に遂行して、その遅延~costを先取りする ]ことが,利用者~体験を改善すると見込まれる ]ことを指示する。 ~UAは、 `Resource Hints^cite 仕様に述べられる,~keyword `dns-prefetch$v の処理~modelを実装し~MUST。 `RESOURCEHINTS$r ◎ The dns-prefetch keyword indicates that preemptively performing DNS resolution for the origin of the specified resource is likely to be beneficial, as it is highly likely that the user will require resources located at that origin, and the user experience would be improved by preempting the latency costs associated with DNS resolution. User agents must implement the processing model of the dns-prefetch keyword described in the Resource Hints specification. [RESOURCEHINTS]
`dns-prefetch$v ~keywordにより与えられる資源に対しては、既定の型は無い。 ◎ There is no default type for resources given by the dns-prefetch keyword.
4.6.6.6. ~link型 `external^v
`external$v ~keywordは:
- `~a_area$ 要素に利用されて~MAY。
- `~hyperlink$は作成しない。
- 要素が作成する[ 他の~keywordによる~hyperlink, または`暗黙の~hyperlink$ ]を`注釈する$。
`external$v ~keywordは、参照先~資源は,現在の文書が属する~siteには属していないことを指示する。 ◎ The external keyword indicates that the link is leading to a document that is not part of the site that the current document forms a part of.
4.6.6.7. ~link型 `help^v
`help$v ~keywordは:
- [ `link$e / `~a_area$ ]要素に利用されて~MAY。
- `~hyperlink$を作成する。
`~a_area$ 要素に対しては、 `help$v ~keywordは,参照先~資源が[ ~hyperlinkを定義している要素の親, および その子たち用に更なる~help情報 ]を供していることを指示する。 ◎ For a and area elements, the help keyword indicates that the referenced document provides further help information for the parent of the element defining the hyperlink, and its children.
次の例では、~form-controlには,文脈に応じた~helpが結付けられている。 ~UAは、例えば,利用者が Help キーや F1 キーを押下げたときに、この情報を利用して参照先~資源を表示することもできる。 ◎ In the following example, the form control has associated context-sensitive help. The user agent could use this information, for example, displaying the referenced document if the user presses the "Help" or "F1" key.
<p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p>
`link$e 要素に対しては、 `help$v ~keywordは,参照先~資源が 頁~一体~用の~helpを供していることを指示する。 ◎ For link elements, the help keyword indicates that the referenced document provides help for the page as a whole.
~browserによっては、 `~a_area$ 要素~用の `help$v ~keywordに対しては,~linkに対し異なる~cursorを利用するものもある。 ◎ For a and area elements, on some browsers, the help keyword causes the link to use a different cursor.
4.6.6.8. ~link型 `icon^v
`icon$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
参照先~資源は、頁や~siteを表現している~iconである — ~UAは、頁を~UI内に表現するときに,それを利用するべきである。 ◎ The specified resource is an icon representing the page or site, and should be used by the user agent when representing the page in the user interface.
~iconは、[ 聴覚的~icon / 視覚的~icon / 他の種類の~icon ]にもなり得る。 複数の~iconが供された場合、~UAには次が要求される: ◎ Icons could be auditory icons, visual icons, or other kinds of icons. If multiple icons are provided, the user agent must\
- [ `type$aL, `media$aL, `sizes$aL ]属性に則って最も適切な~iconを選定する。 ◎ select the most appropriate icon according to the type, media, and sizes attributes.\
- 等しく適切な~iconが複数ある場合、~iconの~listを収集した時点で宣言されていたものうち,`木~順序$で最後のものを利用する。 ◎ If there are multiple equally appropriate icons, user agents must use the last one declared in tree order at the time that the user agent collected the list of icons.\
- ある~iconを利用しようと試行したが,調べていくうちに不適切であると~~判明した場合(未supportの形式を利用しているなど)、その次に適切な~iconを試行する。 ◎ If the user agent tries to use an icon but that icon is determined, upon closer examination, to in fact be inappropriate (e.g. because it uses an unsupported format), then the user agent must try the next-most-appropriate icon as determined by the attributes.
注記: ~UAには,~iconの~listが変化したときに 選定する~iconを更新することは要求されないが、そうすることが奨励される。 ◎ User agents are not required to update icons when the list of icons changes, but are encouraged to do so.
`icon$v ~keywordにより与えられる資源に対しては、既定の型は無い。 しかしながら,`資源の型を決定-$する目的においては、~UAは 資源は画像であるものと予期し~MUST。 ◎ There is no default type for resources given by the icon keyword. However, for the purposes of determining the type of the resource, user agents must expect the resource to be an image.
`sizes$aL 属性の値を成す各~keywordは、画像画素~数による~icon~sizeを表現する(`~CSS~pixel$ではなく)。 ◎ The sizes keywords represent icon sizes in raw pixels (as opposed to CSS pixels).
注記: 1 `~CSS~pixel$が 2 機器画素になる( 2x, 192dpi)~displayで,~iconを 50 `~CSS~pixel$ 幅で表示させるために必要な横幅は、 100 画像画素になる。 この特色機能は、[ 小さい高解像度~icon vs. 大きい低解像度~icon(例: 50×50 2x vs. 100×100 1x ) ]に対し,異なる資源を利用するよう指示する~~機能は,~supportしない。 ◎ An icon that is 50 CSS pixels wide intended for displays with a device pixel density of two device pixels per CSS pixel (2x, 192dpi) would have a width of 100 raw pixels. This feature does not support indicating that a different resource is to be used for small high-resolution icons vs large low-resolution icons (e.g. 50×50 2x vs 100×100 1x).
~UAは、属性の値を先ず`~ASCII空白で分割-$して,結果の各~keywordが表現するものを 次に従って決定し~MUST: ◎ To parse and process the attribute's value, the user agent must first split the attribute's value on ASCII whitespace, and must then parse each resulting keyword to determine what it represents.
- ~keywordが `any@v に`~ASCII大小無視$で合致するならば、資源は拡縮-可能な~icon — 例えば,~SVG画像 — を包含することを表現する。 ◎ The any keyword represents that the resource contains a scalable icon, e.g. as provided by an SVG image.
-
他の場合,~keywordが次をすべて満たすような文字列[ %w, %x, %h ]の並びであるならば:
- %w, %h とも,`妥当な非負~整数$である
- %w, %h とも,先頭の文字 ~NEQ 文字 U+0030 ( `0^l )
- %x ~IN { U+0078 ( `x^l ), U+0058 ( `X^l ) }
…ならば ⇒ ~keywordは、[ 資源は~bitmap~iconを包含していて,その機器画素による ( 横幅, 縦幅 ) は ( %w, %h ) を,順に`非負~整数として構文解析-$した結果で与えられる ]ことを表現する。
◎ Other keywords must be further parsed as follows to determine what they represent: • If the keyword doesn't contain exactly one U+0078 LATIN SMALL LETTER X or U+0058 LATIN CAPITAL LETTER X character, then this keyword doesn't represent anything. Return for that keyword. • Let width string be the string before the "x" or "X". • Let height string be the string after the "x" or "X". • If either width string or height string start with a U+0030 DIGIT ZERO (0) character or contain any characters other than ASCII digits, then this keyword doesn't represent anything. Return for that keyword. • Apply the rules for parsing non-negative integers to width string to obtain width. • Apply the rules for parsing non-negative integers to height string to obtain height. • The keyword represents that the resource contains a bitmap icon with a width of width device pixels and a height of height device pixels. - 他の場合、~keywordは何も表現しない。 ◎ ↑
`sizes$aL 属性に指定される各~keywordは、~link先の資源の実際に可用でない~icon~sizeを表現しては~MUST_NOT。 ◎ The keywords specified on the sizes attribute must not represent icon sizes that are not actually available in the linked resource.
`link$e 要素が `icon$v ~keywordを有さない場合、[ 要素の`~node文書$ %文書 の`~URL$docの`~scheme$url ~IN `~HTTP_S~scheme$ ]ならば,~UAは 次の手続きを`並列的$に走らせて~MAY: ◎ In the absence of a link with the icon keyword, for Document objects whose URL's scheme is an HTTP(S) scheme, user agents may instead run these steps in parallel:
- %要請 ~LET 次のように設定された新たな`要請$ ⇒# `~url$rq ~SET 文字列 `/favicon.ico^l を %文書 に`相対的に構文解析-$した結果, `~client$rq ~SET %文書 に`関連する設定群~obj$, `行先$rq ~SET `image^l, `同期~flag$ ~SET ~ON, `資格証~mode$rq ~SET `include^l, `~URL資格証~利用~flag$rq ~SET ~ON ◎ Let request be a new request whose url is the URL record obtained by resolving the URL "/favicon.ico" against the Document object's URL, client is the Document object's relevant settings object, destination is "image", synchronous flag is set, credentials mode is "include", and whose use-URL-credentials flag is set.
- %応答 ~LET %要請 を`~fetch$した結果 ◎ Let response be the result of fetching request.
- %応答 の`非安全~応答$を `icon$v ~keywordを利用して宣言された~iconであるかのように利用する。 ◎ Use response's unsafe response as an icon as if it had been declared using the icon keyword.
~appの冒頭にて,いくつかの~iconを取込む例: ◎ The following snippet shows the top part of an application with several icons.
<!DOCTYPE HTML> <html lang="en"> <head> <title>lsForums — Inbox</title> <link rel=icon href=favicon.png sizes="16x16" type="image/png"> <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon"> <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768"> <link rel=icon href=iphone.png sizes="57x57" type="image/png"> <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml"> <link rel=stylesheet href=lsforums.css> <script src=lsforums.js></script> <meta name=application-name content="lsForums"> </head> <body> ...
歴史的~理由から、 `icon$v ~keywordには,~keyword `shortcut^v が先行しても~MAY。 ただし,その場合には、 `rel$a 属性の値~全体が`~ASCII大小無視$で次の並びに合致し~MUST ⇒# `shortcut^l, 1 個の文字 U+0020 SPACE, `icon^l ◎ For historical reasons, the icon keyword may be preceded by the keyword "shortcut". If the "shortcut" keyword is present, the rel attribute's entire value must be an ASCII case-insensitive match for the string "shortcut icon" (with a single U+0020 SPACE character between the tokens and no other ASCII whitespace).
4.6.6.9. ~link型 `license^v
`license$v ~keywordは:
- [ `link$e / `~a_area$ ]要素に利用されて~MAY。
- `~hyperlink$を作成する。
`license$v ~keywordは、現在の文書の主要な内容が,参照先~資源が供する著作権~license条項の下に供されていることを指示する。 ◎ The license keyword indicates that the referenced document provides the copyright license terms under which the main content of the current document is provided.
この仕様は、この~~目的において,文書のどの部分が主要な内容でどの部分がそうでないと判断されるかは指定しない。 それは利用者により明瞭にされるべきである。 ◎ This specification does not specify how to distinguish between the main content of a document and content that is not deemed to be part of that main content. The distinction should be made clear to the user.
写真共有~siteを考える。 その~site上の頁は、写真とその記述のために,次のように~mark-upされているとする: ◎ Consider a photo sharing site. A page on that site might describe and show a photograph, and the page might be marked up as follows:
<!DOCTYPE HTML> <html lang="ja"> <head> <title>Exampl Pictures: ネコ属</title> <link rel="stylesheet" href="/style/default"> </head> <body> <h1>ネコ属</h1> <nav> <a href="../">写真索引に戻る</a> </nav> <figure> <img src="/pix/39627052_fd8dcd98b5.jpg"> <figcaption>ネコ属</figcaption> </figure> <p>6 本指の種もある!</p> <p><small><a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p> <footer> <a href="/">ホーム</a> | <a href="../">写真索引</a> <p><small>© 2009 Exampl Pictures.</small></p> </footer> </body> </html>
この事例の `license$v は、文書~一体でなく写真(文書の主要な内容)のみに適用される。 特に,頁~自身の~designは、文書の下端に与えられる著作権の下にある。 これは、より明瞭な~~形で表すこともできる(例: ~license~linkを写真の近くの目立つ所に置く一方で、頁の著作権は,この例のように頁の `footer^e 内の `small^e 内の~textに与えるなど)。 ◎ In this case the license applies to just the photo (the main content of the document), not the whole document. In particular not the design of the page itself, which is covered by the copyright given at the bottom of the document. This could be made clearer in the styling (e.g. making the license link prominently positioned near the photograph, while having the page copyright in light small text at the foot of the page).
同義語: 歴史的~理由から、~UAは,~keyword `copyright^v を `license$v と同じに扱わ~MUST。 ◎ Synonyms: For historical reasons, user agents must also treat the keyword "copyright" like the license keyword.
4.6.6.10. ~link型 `modulepreload^v
`modulepreload$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
- `~body-ok$である。
`modulepreload$v ~keywordは、 `preload$v ~keywordに対する特化された代替であり,`~module~script$の処理~modelを~preloadする方へ~~仕向ける。 特に,~fetch時には、~module~scriptに特有の挙動を利用して(例えば、 `crossorigin$aL 属性に対する解釈は異なる),その結果を — 後の評価~用に — 適切な`~module~map$docの中に配置する。 対照的に, `preload$v ~keywordを利用する類似の`外部~資源~link$は、文書の`~module~map$docに影響することなく,結果を~preload~cache内に配置する。 ◎ The modulepreload keyword is a specialized alternative to the preload keyword, with a processing model geared toward preloading module scripts. In particular, it uses the specific fetch behavior for module scripts (including, e.g., a different interpretation of the crossorigin attribute), and places the result into the appropriate module map for later evaluation. In contrast, a similar external resource link using the preload keyword would place the result in the preload cache, without affecting the document's module map.
加えて,実装は、`~module~script$が その依存物も宣言する事による利点をとって,~moduleに指定された依存物を~fetchすることもできる。 これは、最適化の機会として意図されている — ~UAは、それらの依存物も後で ほぼ必要になると見込まれることを知るので。 それは一般に、~service-workerなどの技術を用いるか, ~server側で監視しない限り,観測-可能にならない。 注意点として、適切な[ `load$et / `error$et ]~eventは、指定された~moduleが~fetchされた後に — 依存物を待機することなく — 生じることになる。 ◎ Additionally, implementations can take advantage of the fact that module scripts declare their dependencies in order to fetch the specified module's dependency as well. This is intended as an optimization opportunity, since the user agent knows that, in all likelihood, those dependencies will also be needed later. It will not generally be observable without using technology such as service workers, or monitoring on the server side. Notably, the appropriate load or error events will occur after the specified module is fetched, and will not wait for any dependencies.
そのような `link$e 要素 %要素 による~link用の資源を~fetchする適切な時機は: ◎ The appropriate times to fetch the resource for such a link are:
- %要素 が`閲覧文脈に接続されて$いる下で, %要素 上に`外部~資源~link$が作成されたとき。 ◎ When the external resource link is created on a link element that is already browsing-context connected.
- %要素 は`外部~資源~link$を与えている下で, %要素 が`閲覧文脈に接続された$とき。 ◎ When the external resource link's link element becomes browsing-context connected.
- %要素 は[ `外部~資源~link$を与えている, かつ`閲覧文脈に接続されて$いる ]下で, %要素 の `href$aL 属性が変化したとき。 ◎ When the href attribute of the link element of an external resource link that is already browsing-context connected is changed.
注記: 一部の他の~link関係と違って,関連する `link$e 属性( `as$aL, `crossorigin$aL, `referrerpolicy$aL など)を変更しても,新たな~fetchが誘発されることはない。 文書の`~module~map$docは,以前の~fetchによりすでに拡充されていて,再度~fetchするのは~~無駄になるからである。 ◎ Unlike some other link relations, changing the relevant attributes (such as as, crossorigin, and referrerpolicy) of such a link attribute does not trigger a new fetch. This is because the document's module map has already been populated by a previous fetch, and so re-fetching would be pointless.
そのような `link$e 要素 %要素 用の資源を得るときは、次を走らすとする 【通常の`資源を得る$~algoを上書きすることになる】 : ◎ To obtain the resource for such a link:
- %~url文字列 ~LET [ %要素 は `href$aL 属性を有するならば その値 / ~ELSE_ 空~文字列 ] ◎ ↓
- ~IF[ %~url文字列 ~EQ 空~文字列 ] ⇒ ~RET ◎ If the href attribute's value is the empty string, then return.
- %行先 ~LET %要素 の `as$aL 属性の現在の状態( `行先$rq ) ◎ Let destination be the current state of the as attribute (a destination),\
- ~IF[ %行先 ~EQ ε ] ⇒ %行先 ~SET `script^l ◎ or "script" if it is in no state.
-
~IF[ %行先 は`~scriptに類する行先$でない ]:
- `~network用~task源$から,次を走らす`~taskを~queueする$ ⇒ %要素 に向けて,名前 `error$et の`~eventを発火する$
- ~RET
- %~url ~LET %~url文字列 を %要素 の`~node文書$に`相対的に構文解析-$した`結果の~URL~record$ ◎ Parse the URL given by the href attribute, relative to the element's node document.\
- ~IF[ %~url ~EQ `失敗^i ] ⇒ ~RET ◎ If that fails, then return. Otherwise, let url be the resulting URL record.
- %設定群~obj ~LET %要素 の`~node文書$に`関連する設定群~obj$ ◎ Let settings object be the link element's node document's relevant settings object.
- %資格証~mode ~LET `crossorigin$aL 属性~用の`~module~script資格証~mode$ ◎ Let credentials mode be the module script credentials mode for the crossorigin attribute.
- %暗号用~nonce ~LET %要素 の `CryptographicNonce$sl 内部~slotの現在の値 ◎ Let cryptographic nonce be the current value of the element's [[CryptographicNonce]] internal slot.
- %完全性~metadata ~LET [ %要素 は `integrity$aL 属性を有するならば その値 / ~ELSE_ 空~文字列 ] ◎ Let integrity metadata be the value of the integrity attribute, if it is specified, or the empty string otherwise.
- %~referrer施策 ~LET %要素 の `referrerpolicy$aL 属性の現在の状態 ◎ Let referrer policy be the current state of the element's referrerpolicy attribute.
- %~options ~LET 次のようにされた新たな`~script~fetch~options$ ⇒# `暗号用~nonce$sfO ~SET %暗号用~nonce, `完全性~metadata$sfO ~SET %完全性~metadata, `構文解析器~metadata$sfO ~SET `not-parser-inserted^l, `資格証~mode$sfO ~SET %資格証~mode, `~referrer施策$sfO ~SET %~referrer施策 ◎ Let options be a script fetch options whose cryptographic nonce is cryptographic nonce, integrity metadata is integrity metadata, parser metadata is "not-parser-inserted", credentials mode is credentials mode, and referrer policy is referrer policy.
- `単独の~module~scriptを~fetchする$( %~url, %設定群~obj, %行先, %~options, %設定群~obj, `client^l, %~top-level~module~fetch~flag ~SET ~ON ) ◎ Fetch a single module script given url, settings object, destination, options, settings object, "client", and with the top-level module fetch flag set.\
- 前~段が %~module~script を結果として`非同期に完了する$まで待機する ◎ Wait until algorithm asynchronously completes with result.
- ~IF[ %~module~script ~EQ ~NULL ] ⇒# %要素 に向けて,名前 `error$et の`~eventを発火する$; ~RET ◎ If result is null, fire an event named error at the link element, and return.
- %要素 に向けて,名前 `load$et の`~eventを発火する$ ◎ Fire an event named load at the link element.
-
~UAの任意選択で,次の手続きを遂行する: ◎ Optionally, perform the following steps:
- %訪問-済み集合 ~LET « %~url » ◎ Let visited set be « url ».
- %~module~script の`子孫を~fetchして~instance化する$( %設定群~obj, %行先, %訪問-済み集合 ) ◎ Fetch the descendants of and instantiate result given settings object, destination, and visited set.
注記: 一般に,この手続きを遂行することは、処理能に有益になる — `~module~script~graphを~fetchする$が~callされたとき、後で要請されことになる~moduleは,常に~preloadできるようになるので。 しかしながら,[ 帯域幅が拘束された状況 / 関連する~fetchがすでに~~伝送中にある状況 ]では、~UAは,それを飛ばしたいと望むかもしれない。 ◎ Generally, performing these steps will be beneficial for performance, as it allows pre-loading the modules that will invariably be requested later, when fetch a module script graph is called. However, user agents might wish to skip them in bandwidth-constrained situations, or situations where the relevant fetches are already in flight.
次の~code片に、いくつかの~moduleを~preloadするような,ある~appの冒頭部を示す: ◎ The following snippet shows the top part of an application with several modules preloaded:
<!DOCTYPE html> <html lang="en"> <title>IRCFog</title> <link rel="modulepreload" href="app.mjs"> <link rel="modulepreload" href="helpers.mjs"> <link rel="modulepreload" href="irc.mjs"> <link rel="modulepreload" href="fog-machine.mjs"> <script type="module" src="app.mjs"> ...
~app用の~module~graphは、次のようになっているとする: ◎ Assume that the module graph for the application is as follows:
ここでは,~app開発者は、~module~graphを成す すべての~moduleに — それらの~fetchを~UAが起動することを確保するために — `modulepreload$v を利用している。 そのように~preloadしていない場合、~UAは `helpers.mjs^c を発見する前に 複数の~network往来を通る必要があるかもしれない — HTTP/2 Server Push などの技術が~~利用中にある場合は別として。 このような仕方で、 `modulepreload$v 付きの `link$e 要素を,~appの~moduleを成す “~manifest” に類するものとして,利用できる。 ◎ Here we see the application developer has used modulepreload all of the modules in their module graph, ensuring that the user agent initiates fetches for them all. Without such preloading, the user agent might need to go through multiple network roundtrips before discovering helpers.mjs, if technologies such as HTTP/2 Server Push are not in play. In this way, modulepreload link elements can be used as a sort of "manifest" of the application's modules.
`import()$c ~callに `modulepreload$v 付き~linkを併用して,~network~fetchingは事前に済むようにしておく方法を、次の~codeに示す — `import()^c が~callされた時点で,`~module~map$内の~moduleは すでに準備済みになる(が,まだ評価されていない): ◎ The following code shows how modulepreload links can be used in conjunction with import() to ensure network fetching is done ahead of time, so that when import() is called, the module is already ready (but not evaluated) in the module map:
<link rel="modulepreload" href="awesome-viewer.mjs"> <button onclick="import('./awesome-viewer.mjs').then(m => m.view())"> View awesome thing </button>
4.6.6.11. ~link型 `nofollow^v
`nofollow$v ~keywordは:
- `~a_area$ 要素に利用されて~MAY。
- `~hyperlink$は作成しない。
- 要素が作成する[ 他の~keywordによる~hyperlink, または`暗黙の~hyperlink$ ]を`注釈する$。
`nofollow$v ~keywordは、参照先~資源への~linkが次のいずれかであることを指示する:
- 現在の頁の著作者/版元から承認されたものではない。
- 首に,現在の頁と参照先~頁との間で提携する者どうしの商業関係により含められている。
4.6.6.12. ~link型 `noopener^v
`noopener$v ~keywordは:
- `~a_area$ 要素に利用されて~MAY。
- `~hyperlink$は作成しない。
- 要素が作成する[ 他の~keywordによる~hyperlink, または`暗黙の~hyperlink$ ]を`注釈する$。
この~keywordは、[ `~hyperlink$を追った結果,`閲覧文脈$が新たに作成される ]場合に,その`未所有化~flag$を ~ON にすることを指示する — その結果, `window.opener$m 属性は ~NULL になる。 ◎ The keyword indicates that any newly created browsing context which results from following the hyperlink will be disowned, which means that its window.opener attribute will be null.
4.6.6.13. ~link型 `noreferrer^v
`noreferrer$v ~keywordは:
- `~a_area$ 要素に利用されて~MAY。
- `~hyperlink$は作成しない。
- 要素が作成する[ 他の~keywordによる~hyperlink, または`暗黙の~hyperlink$ ]を`注釈する$。
`noreferrer$v ~keywordは、~linkを追うときに ~referrer情報が漏洩されないことを指示する。 ◎ It indicates that no referrer information is to be leaked when following the link.
~UAは、 `noreferrer$v ~keywordを有する `~a_area$ 要素により定義される~linkを追うときは、その`要請$の`~referrer$rqを `no-referrer^l に設定し~MUST。 ◎ If a user agent follows a link defined by an a or area element that has the noreferrer keyword, the user agent must set their request's referrer to "no-referrer".
注記: 歴史的~理由から,~keyword `noreferrer$v は、`新たな閲覧文脈を作成する$ような~hyperlink上に在するときは, `noopener$v ~keywordに結付けられている挙動を含意する。 すなわち,次の 2 つのの挙動は同じになる ⇒# `<a href="..." rel="noreferrer" target="_blank">^c, `<a href="..." rel="noreferrer noopener" target="_blank">^c ◎ For historical reasons, the noreferrer keyword implies the behavior associated with the noopener keyword when present on a hyperlink that creates a new browsing context. That is, <a href="..." rel="noreferrer" target="_blank"> has the same behavior as <a href="..." rel="noreferrer noopener" target="_blank">.
4.6.6.14. ~link型 `pingback^v
`pingback$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
- `~body-ok$である。
`pingback$v ~keywordの意味論については、 Pingback 1.0 仕様を見よ。 `PINGBACK$r ◎ For the semantics of the pingback keyword, see the Pingback 1.0 specification. [PINGBACK]
4.6.6.15. ~link型 `preconnect^v
`preconnect$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
- `~body-ok$である。
`preconnect$v ~keywordは、[ 利用者は 参照先~資源を要求する見込みが高いので、~UAが 資源の`生成元$への接続を先取的に起動して 接続を確立する遅延~costを先取りすることが,利用者~体験を改善すると見込まれる ]ことを指示する。 ~UAは、 `Resource Hints^cite 仕様に述べられる,~keyword `preconnect$v の処理~modelを実装し~MUST。 `RESOURCEHINTS$r ◎ The preconnect keyword indicates that preemptively initiating a connection to the origin of the specified resource is likely to be beneficial, as it is highly likely that the user will require resources located at that origin, and the user experience would be improved by preempting the latency costs associated with establishing the connection. User agents must implement the processing model of the preconnect keyword described in Resource Hints. [RESOURCEHINTS]
`preconnect$v ~keywordにより与えられる資源に対しては、既定の型は無い。 ◎ There is no default type for resources given by the preconnect keyword.
4.6.6.16. ~link型 `prefetch^v
`prefetch$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
- `~body-ok$である。
`prefetch$v ~keywordは、[ 利用者が 未来の~naviにてこの資源を要求する見込みが高いので、~UAは,参照先~資源を先取的に`~fetch$して~cacheすることが有益になると見込まれる ]ことを指示する。 ~UAは、 `Resource Hints^cite 仕様に述べられる,~keyword `prefetch$v の処理~modelを実装し~MUST。 `RESOURCEHINTS$r ◎ The prefetch keyword indicates that preemptively fetching and caching the specified resource is likely to be beneficial, as it is highly likely that the user will require this resource for future navigations. User agents must implement the processing model of the prefetch keyword described in Resource Hints. [RESOURCEHINTS]
`prefetch$v ~keywordにより与えられる資源に対しては、既定の型は無い。 ◎ There is no default type for resources given by the prefetch keyword.
4.6.6.17. ~link型 `preload^v
`preload$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
- `~body-ok$である。
`preload$v ~keywordは、[ 利用者は 現在の~naviに 参照先~資源を要求する見込みが高いので、~UAは [ `as$aL 属性が与える`行先の素$(および それに`対応する$pD`行先$rqに結付けられている`優先度$rq) ]に則って,参照先~資源を先取的に`~fetch$して~cacheし~MUST ]ことを指示する。 ~UAは、この仕様の`資源を得る$~algoに加えて, `Preload^cite 仕様に述べられる[ ~keyword `preload$v の処理~model ]を実装し~MUST。 `PRELOAD$r ◎ The preload keyword indicates that the user agent must preemptively fetch and cache the specified resource according to the potential destination given by the as attribute (and the priority associated with the corresponding destination), as it is highly likely that the user will require this resource for the current navigation. User agents must implement the processing model of the preload keyword described in Preload, as well as in this specification's obtain the resource algorithm. [PRELOAD]
`preload$v ~keywordにより与えられる資源に対しては、既定の型は無い。 ◎ There is no default type for resources given by the preload keyword.
4.6.6.18. ~link型 `prerender^v
`prerender$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- `外部~資源~link$を作成する。
- `~body-ok$である。
`prerender$v ~keywordは、[ 参照先~資源は,次回の~naviに要求されるので、資源を先取的に`~fetch$するのみならず,それを処理する — 例えば,その下位資源を`~fetch$したり,何らかの描画を遂行する — ことも有益になると見込まれる ]ことを指示する。 ~UAは、 `Resource Hints^cite 仕様に述べられる~keyword `prerender$v の処理~modelを実装し~MUST。 `RESOURCEHINTS$r ◎ The prerender keyword indicates that the specified resource might be required by the next navigation, and so it may be beneficial to not only preemptively fetch the resource, but also to process it, e.g. by fetching its subresources or performing some rendering. User agents must implement the processing model of the prerender keyword described in Resource Hints. [RESOURCEHINTS]
`prerender$v ~keywordにより与えられる資源に対しては、既定の型は無い。 ◎ There is no default type for resources given by the prerender keyword.
4.6.6.19. ~link型 `search^v
`search$v ~keywordは:
- [ `link$e / `~a_area$ ]要素に利用されて~MAY。
- `~hyperlink$を作成する。
`search$v ~keywordは、参照先~資源は,[ 現在の文書やそれに関係する資源を探索するための~UI ]を特に供していることを指示する。 ◎ The search keyword indicates that the referenced document provides an interface specifically for searching the document and its related resources.
注記: OpenSearch 記述~文書 `OPENSEARCH$r を `link$e 要素と `search$v ~link型に併用できる。 それは、~UAが探索-用~UIを自動発見できるようにする。 ◎ OpenSearch description documents can be used with link elements and the search link type to enable user agents to autodiscover search interfaces. [OPENSEARCH]
4.6.6.20. ~link型 `stylesheet^v
`stylesheet$v ~keywordは:
- `link$e 要素に利用されて~MAY。
- ~styling処理~modelに供与する`外部~資源~link$を作成する。
- `~body-ok$である。
参照先~資源は、文書をどう呈示するかを述べる~CSS~stylesheetである。 ◎ The specified resource is a CSS style sheet that describes how to present the document.
`link$e 要素に `alternate$v ~keywordも指定されている場合、要素は `代替~stylesheet@ になる。 その場合、空でない値をとる `title$a 属性も要素に指定され~MUST。 ◎ If the alternate keyword is also specified on the link element, then the link is an alternative style sheet; in this case, the title attribute must be specified on the link element, with a non-empty value.
`stylesheet$v ~keywordにより与えられる資源に対する既定の型は、 `text/css$c とする。 ◎ The default type for resources given by the stylesheet keyword is text/css.
その`資源を得る$適切な時機は: ◎ The appropriate times to obtain the resource are:
- `閲覧文脈に接続されて$いる `link$e 要素~上で`外部~資源~link$が作成されたとき。 ◎ When the external resource link is created on a link element that is already browsing-context connected.
- `外部~資源~link$を与えている `link$e 要素が`閲覧文脈に接続された$とき。 ◎ When the external resource link's link element becomes browsing-context connected.
-
`link$e 要素が`外部~資源~link$を与えていて, `閲覧文脈に接続されて$いる下で: ◎ ↓
- その `href$aL 属性が変更されたとき。 ◎ When the href attribute of the link element of an external resource link that is already browsing-context connected is changed.
- その `crossorigin$aL 属性が[ 設定- / 変更- / 除去- ]されたとき。 ◎ When the crossorigin attribute of the link element of an external resource link that is already browsing-context connected is set, changed, or removed.
- その `type$aL 属性の値が,[ 前回~得られた外部~資源の `~Content-Type~metadata$と合致しない値 ]に[ 設定- / 変更- ]されたとき。 ◎ When the type attribute of the link element of an external resource link that is already browsing-context connected is set or changed to a value that does not or no longer matches the Content-Type metadata of the previous obtained external resource, if any.
- その `type$aL 属性が,[ 未support型を指定していることに因り,得られていなかった ]下で[ 設定- / 除去- / 変更- ]されたとき。 ◎ When the type attribute of the link element of an external resource link that is already browsing-context connected, but was previously not obtained due to the type attribute specifying an unsupported type, is set, removed, or changed.
- それが`代替~stylesheet$であるかどうかが変化したとき。 ◎ When the external resource link that is already browsing-context connected changes from being an alternative style sheet to not being one, or vice versa.
過去互換: ~UAは、次が満たされる場合は,自身が~supportしない[ 外部~資源の`~Content-Type~metadata$による~stylesheet型 ]を `text/css$c と見做さ~MUST ⇒ [ 文書は`過去互換~mode$にある ]~AND[ 文書の`~URL$doc と外部~資源の`~URL$とは`同一生成元$である ] ◎ Quirk: If the document has been set to quirks mode, has the same origin as the URL of the external resource, and the Content-Type metadata of the external resource is not a supported style sheet type, the user agent must instead assume it to be text/css.
`資源が得られ$たとき,その[ `~Content-Type~metadata$ ~EQ `text/css$c ]である場合は、次を走らすとする: ◎ Once a resource has been obtained, if its Content-Type metadata is text/css, then run these steps:
- %要素 ~LET 当の`外部~資源~link$を作成した `link$e 要素 ◎ Let element be the link element that created the external resource link.
- ~IF[ %要素 には`~CSS~stylesheetが結付けられ$ている ] ⇒ その`~CSS~stylesheetを除去する$ ◎ If element has an associated CSS style sheet, remove the CSS style sheet in question.
- ~IF[ %要素 は ~styling処理~modelに供与する`外部~資源~link$をもはや作成しなくなった ]~OR[ 当の`資源が得られ$てから,再び`資源を得る$に適切になった(すなわち、この~algoは,新たに得られた資源に対し 再び呼出されることになる) ] ⇒ ~RET ◎ If element no longer creates an external resource link that contributes to the styling processing model, or if, since the resource in question was obtained, it has become appropriate to obtain it again (meaning this algorithm is about to be invoked again for a newly obtained resource), then return.
-
次の各種~propを伴う`~CSS~stylesheetを作成する$: ◎ Create a CSS style sheet with the following properties:
- `種別$ss
- `text/css$c ◎ text/css
- `所在$ss
-
`資源を得る$ ~algoの間に決定される `結果の~URL文字列$ ◎ The resulting URL string determined during the obtain algorithm.
- 注記: これは、~redirectが適用される前のものである。 ◎ This is before any redirects get applied.
- `所有者~node$ss
- %要素 ◎ element
- `媒体$ss
- %要素 の `media$aL 属性 ◎ The media attribute of element.
- 注記: これは、属性の現在の値の複製ではなく,属性への参照-である(この時点では、場合によって不在にもなり得る)。 属性が動的に[ 設定- / 変更- / 除去- ]されたときに何が起こるかは、 `CSSOM$r 仕様が定義する。 ◎ This is a reference to the (possibly absent at this time) attribute, rather than a copy of the attribute's current value. The CSSOM specification defines what happens when the attribute is dynamically set, changed, or removed.
- `~title$ss
- %要素 が`文書~木~内$に[ あるならば %要素 の `title$aL 属性 / ないならば 空~文字列 ] ◎ The title attribute of element, if element is in a document tree, or the empty string otherwise.
- 注記: これも、属性の現在の値の複製ではなく,属性への参照-である。 ◎ This is similarly a reference to the attribute, rather than a copy of the attribute's current value.
- `代替-~flag$ss
- ~linkは`代替~stylesheet$であるならば ~ON / ~ELSE_ ~OFF ◎ Set if the link is an alternative style sheet; unset otherwise.
- `生成元clean~flag$ss
- 資源は`~CORS同一生成元$であるならば ~ON / ~ELSE_ ~OFF ◎ Set if the resource is CORS-same-origin; unset otherwise.
- `親~CSS~stylesheet$ss
- `所有者~CSS規則$ss
- ~NULL ◎ null
- `不能化~flag$ss
- その既定の値 【 ~OFF 】 ◎ Left at its default value.
- `~CSS規則~list$ss
- 初期化されないまま。 【空~list?】 ◎ Left uninitialized.
- これは~~正しく見えない。 応答の本体を利用しているはずなので。 issue #2997 ◎ This doesn't seem right. Presumably we should be using the response body? Tracked as issue #2997.
`~CSS環境~符号化法$は、次の手続きを走らせた結果とする: `CSSSYNTAX$r ◎ The CSS environment encoding is the result of running the following steps: [CSSSYNTAX]
- ~IF[ %要素 は `charset$a 属性を有する ]~AND[ `~labelから符号化法を取得する$( その属性の値 ) の結果 ~NEQ `失敗^i `ENCODING$r ] ⇒ ~RET その結果 ◎ If the element has a charset attribute, get an encoding from that attribute's value. If that succeeds, return the resulting encoding. [ENCODING]
- ~RET 文書の`符号化法$doc `DOM$r ◎ Otherwise, return the document's character encoding. [DOM]
4.6.6.21. ~link型 `tag^v
`tag$v ~keywordは:
- `~a_area$ 要素に利用されて~MAY。
- `~hyperlink$を作成する。
`tag$v ~keywordは、参照先~資源が表現する~tagは,現在の文書に適用されることを指示する。 ◎ The tag keyword indicates that the tag that the referenced document represents applies to the current document.
注記: ~tagは,現在の文書に適用されることを指示するので、この~keywordを`~tag~cloud$ — 頁の集合にわたって よくある~tagを~listするもの — の~markup内に利用することは,不適切になる。 ◎ Since it indicates that the tag applies to the current document, it would be inappropriate to use this keyword in the markup of a tag cloud, which lists the popular tags across a set of pages.
次の文書では、 “宝石” の~~意味の gem について述べてられていて、他の~~意味の gem — 例えば 米国のアイダホ州の愛称 / Ruby 言語の~package形式 / スイスのレーティッシュ鉄道の機関車 — ではない,宝石の~~意味のそれが適用されるように `~tag^i `https://en.wikipedia.org/wiki/Gemstone^l が付与されている: ◎ This document is about some gems, and so it is tagged with "https://en.wikipedia.org/wiki/Gemstone" to unambiguously categorize it as applying to the "jewel" kind of gems, and not to, say, the towns in the US, the Ruby package format, or the Swiss locomotive class:
<!DOCTYPE HTML> <html lang="en"> <head> <title>My Precious</title> </head> <body> <header><h1>My precious</h1> <p>Summer 2012</p></header> <p>Recently I managed to dispose of a red gem that had been bothering me. I now have a much nicer blue sapphire.</p> <p>The red gem had been found in a bauxite stone while I was digging out the office level, but nobody was willing to haul it away. The same red gem stayed there for literally years.</p> <footer> Tags: <a rel=tag href="https://en.wikipedia.org/wiki/Gemstone">Gemstone</a> </footer> </body> </html>
次の文書には 2 個の記事( `article$e )がある。 しかしながら、 `tag$v ~linkは,その中に配置されていたとしても,頁~一体に適用される。 ◎ In this document, there are two articles. The "tag" link, however, applies to the whole page (and would do so wherever it was placed, including if it was within the article elements).
<!DOCTYPE HTML> <html lang="en"> <head> <title>Gem 4/4</title> </head> <body> <article> <h1>801: Steinbock</h1> <p>The number 801 Gem 4/4 electro-diesel has an ibex and was rebuilt in 2002.</p> </article> <article> <h1>802: Murmeltier</h1> <figure> <img src="https://upload.wikimedia.org/wikipedia/commons/b/b0/Trains_de_la_Bernina_en_hiver_2.jpg" alt="The 802 was red with pantographs and tall vents on the side."> <figcaption>The 802 in the 1980s, above Lago Bianco.</figcaption> </figure> <p>The number 802 Gem 4/4 electro-diesel has a marmot and was rebuilt in 2003.</p> </article> <p class="topic"><a rel=tag href="https://en.wikipedia.org/wiki/Rhaetian_Railway_Gem_4/4">Gem 4/4</a></p> </body> </html>
4.6.6.22. 連列的~link型
文書は、ある “連列” — 順序付けられた一連の文書 — に属することもある。 前の文書のない文書が この連列の始端, 次の文書のない文書が この連列の終端になる。 ◎ Some documents form part of a sequence of documents. ◎ A sequence of documents is one where each document can have a previous sibling and a next sibling. A document with no previous sibling is the start of its sequence, a document with no next sibling is the end of its sequence.
文書は、複数の連列に属することもある。 ◎ A document may be part of multiple sequences.
4.6.6.22.1. ~link型 `next^v
`next$v ~keywordは:
- [ `link$e / `~a_area$ ]要素に利用されて~MAY。
- `~hyperlink$を作成する。
`next$v ~keywordは、[ 現在の文書は ある連列に属していて,当の~linkは連列における次の文書へ導くものである ]ことを指示する。 ◎ The next keyword indicates that the document is part of a sequence, and that the link is leading to the document that is the next logical document in the sequence.
`next$v ~keywordが `link$e 要素に併用された場合、~UAは `Resource Hints^cite に述べられる,いずれかの処理~modelを実装するべきである — すなわち、そのような~linkを,それが[ `dns-prefetch$v, `preconnect$v, `prefetch$v, `prerender$v ]いずれかの~keywordを利用していたかのように処理するべきである。 ~UAが どの資源~hintを利用したいと望むかは、実装に依存する。 例えば~UAは、より低~costな `preconnect$v ~hintを利用して[ ~data / 電池~~残量 / 処理~~能力 ]を温存しようと試行しても~MAYし、似た局面における 利用者の過去の挙動を解析して,経験的に資源~hintを選んでも~MAY。 `RESOURCEHINTS$r ◎ When the next keyword is used with a link element, user agents should implement one of the processing models described in Resource Hints, i.e. should process such links as if they were using one of the dns-prefetch, preconnect, prefetch, or prerender keywords. Which resource hint the user agent wishes to use is implementation-dependent; for example, a user agent may wish to use the less-costly preconnect hint when trying to conserve data, battery power, or processing power, or may wish to pick a resource hint depending on heuristic analysis of past user behavior in similar scenarios. [RESOURCEHINTS]
4.6.6.22.2. ~link型 `prev^v
`prev$v ~keywordは:
- [ `link$e / `~a_area$ ]要素に利用されて~MAY。
- `~hyperlink$を作成する。
`prev$v ~keywordは、[ 現在の文書は ある連列に属していて,当の~linkは連列における前の文書へ導くものである ]ことを指示する。 ◎ The prev keyword indicates that the document is part of a sequence, and that the link is leading to the document that is the previous logical document in the sequence.
同義語: 歴史的~理由から、~UAは,~keyword `previous^v も `prev$v ~keywordと同様に扱わ~MUST。 ◎ Synonyms: For historical reasons, user agents must also treat the keyword "previous" like the prev keyword.
4.6.6.23. 他種の~link型
`定義済みの~link型の集合に対する拡張@ は、 microformats wiki existing-rel-values page — 以下,単に “この~Wiki” と略記する — に登録されて~MAY。 `MFREL$r ◎ Extensions to the predefined set of link types may be registered in the microformats wiki existing-rel-values page. [MFREL]
誰もがいつでも,型を追加するために,この~Wikiを自由に編集できる。 拡張~型には,次の情報も伴われ~MUST: ◎ Anyone is free to edit the microformats wiki existing-rel-values page at any time to add a type. Extension types must be specified with the following information:
- ~keyword ◎ Keyword
- 定義されている実際の値。 値は 定義-済みの他の名前と紛らわしいもの(例: 文字大小のみ相違するなど)は、避けるべきである。 ◎ The actual value being defined. The value should not be confusingly similar to any other defined value (e.g. differing only in case).
- 値が U+003A ( `:^l ) を包含する場合、それは`絶対~URL$で~MUST。 ◎ If the value contains a U+003A COLON character (:), it must also be an absolute URL.
- `link$e 上の効果 ◎ Effect on... link
-
次のいずれか — “許容されない” に該当する場合を除き,~keywordは `link$e 要素に指定されて~MAY: ◎ One of the following:
- 許容されない ◎ Not allowed
- ~keywordは `link$e 要素~上には指定されては~MUST_NOT。 ◎ The keyword must not be specified on link elements.
- ~hyperlink ◎ Hyperlink
- ~keywordは`~hyperlink$を作成する。 ◎ The keyword may be specified on a link element; it creates a hyperlink.
- 外部~資源 ◎ External Resource
- ~keywordは`外部~資源~link$を作成する。 ◎ The keyword may be specified on a link element; it creates an external resource link.
- `~a_area$ 上の効果 ◎ Effect on... a and area
-
次のいずれか — “許容されない” に該当する場合を除き,~keywordは `~a_area$ 要素に指定されて~MAY: ◎ One of the following:
- 許容されない ◎ Not allowed
- ~keywordは `~a_area$ 要素~上には指定されては~MUST_NOT。 ◎ The keyword must not be specified on a and area elements.
- ~hyperlink ◎ Hyperlink
- ~keywordは`~hyperlink$を作成する。 ◎ The keyword may be specified on a and area elements; it creates a hyperlink.
- 外部~資源 ◎ External Resource
- ~keywordは`外部~資源~link$を作成する。 ◎ The keyword may be specified on a and area elements; it creates an external resource link.
- ~hyperlink注釈 ◎ Hyperlink Annotation
- ~keywordは要素により作成される他の`~hyperlink$を`注釈$する。 ◎ The keyword may be specified on a and area elements; it annotates other hyperlinks created by the element.
- 概略的な記述 ( Brief description )
- ~keywordの意味についての,規範的でない短い記述。 ◎ A short non-normative description of what the keyword's meaning is.
- 仕様 ( Specification )
- ~keywordの意味論と要件についての詳細な記述への~link。 この~Wikiの別の頁や外部~頁への~linkにもなり得る。 ◎ A link to a more detailed description of the keyword's semantics and requirements. It could be another page on the Wiki, or a link to an external page.
- 同義語 ( Synonyms )
- 処理~要件が正確に同じであるような,他の~keyword値からなる~list。 作者は、同義語による名前を定義して利用するべきでない — その意図は、~UAが旧来の内容を~supportできるようにするために限られる。 誰もが、実施に利用されていない同義語を除去して~MAY。 この仕方で登録されるのは、旧来の内容との互換性のため,同義語として処理される必要がある~keyword値に限られる。 ◎ A list of other keyword values that have exactly the same processing requirements. Authors should not use the values defined to be synonyms, they are only intended to allow user agents to support legacy content. Anyone may remove synonyms that are not used in practice; only names that need to be processed as synonyms for compatibility with legacy content are to be registered in this way.
- 地位 ( Status )
-
次のいずれか: ◎ One of the following:
- 提案-済み ( Proposed )
- ~keywordは、まだ,広くから査読を受けてないか認可されていない。 誰かがそれを提案していて、それを利用しているか,近いうちに利用することになる。 ◎ The keyword has not received wide peer review and approval. Someone has proposed it and is, or soon will be, using it.
- 批准-済み ( Ratified )
- ~keywordは、広くから査読を受け,認可された。 ~keywordを利用している頁を取扱う方法を — 不正な仕方で利用された場合も含め — 一義的に定義する仕様がある。 ◎ The keyword has received wide peer review and approval. It has a specification that unambiguously defines how to handle pages that use the keyword, including when they use it in incorrect ways.
- 使用中止 ( Discontinued )
- この~keywordは、広くから査読を受けた上で,水準に満たないものと判明した。 既存の頁が この~keywordを利用していても、新たな頁には避けるべきである。 作者が代わりに利用すべきものは、(もしあれば) “概略的な記述 ” と “仕様” の項に詳細が与えられることになる。 ◎ The keyword has received wide peer review and it has been found wanting. Existing pages are using this keyword, but new pages should avoid it. The "brief description" and "specification" entries will give details of what authors should use instead, if anything.
- ~keywordが,既存の値とかぶると判明した場合、除去された上で,既存の値に対する同義語として~listされるべきである。 ◎ If a keyword is found to be redundant with existing values, it should be removed and listed as a synonym for the existing value.
- ~keywordが “提案-済み” の地位で登録されてから, 1 ヶ月~以上 利用されない/指定されない ままにある場合、~registryから除去されて~MAY。 ◎ If a keyword is registered in the "proposed" state for a period of a month or more without being used or specified, then it may be removed from the registry.
- “提案-済み” の地位で追加された~keywordが,既存の値とかぶるものと判明した場合、除去された上で,既存の値に対する同義語として~listされるべきである。 “提案-済み” の地位で追加された~keywordが,有害と判明した場合、 “使用中止” の地位に変更されるべきである。 ◎ If a keyword is added with the "proposed" status and found to be redundant with existing values, it should be removed and listed as a synonym for the existing value. If a keyword is added with the "proposed" status and found to be harmful, then it should be changed to "discontinued" status.
- 誰もがいつでも地位を変更できるが、上の定義に則る限りにおいて,そうするべきである。 ◎ Anyone can change the status at any time, but should only do so in accordance with the definitions above.
適合性~検査器は、値が許容されるかどうかを確立するときに, この~Wiki頁に与えられる情報を利用し~MUST: この仕様にて定義される値, および “提案-済み” / “批准-済み” とされている値のうち、 要素~上で “〜上の効果” 欄に述べられるものとして適用されるように利用されたものは,受容し~MUST。 それ以外の値は、妥当でないものとして却下し~MUST。 適合性~検査器は、この情報を~cacheして~MAY(例: 処理能~上の理由, あるいは ~network接続の不確実性を避けるためとして)。 ◎ Conformance checkers must use the information given on the microformats wiki existing-rel-values page to establish if a value is allowed or not: values defined in this specification or marked as "proposed" or "ratified" must be accepted when used on the elements for which they apply as described in the "Effect on..." field, whereas values marked as "discontinued" or not listed in either this specification or on the aforementioned page must be rejected as invalid. Conformance checkers may cache this information (e.g. for performance reasons or to avoid the use of unreliable network connectivity).
適合性~検査器は、作者が,この仕様にも この~Wikiにも定義されていない,新たな型を利用しているときは、上に述べた詳細と伴に値を “提案-済み” の地位でこの~Wikiに追加するよう~~勧めるべきである。 ◎ When an author uses a new type not defined by either this specification or the Wiki page, conformance checkers should offer to add the value to the Wiki, with the details described above, with the "proposed" status.
この~Wikiにて,地位 “提案-済み” / “批准-済み” である拡張として定義された型は、 “〜上の効果” 欄に則って[ `link$e / `~a_area$ ]要素の `rel^a 属性と併用されて~MAY。 `MFREL$r ◎ Types defined as extensions in the microformats wiki existing-rel-values page with the status "proposed" or "ratified" may be used with the rel attribute on link, a, and area elements in accordance to the "Effect on..." field. [MFREL]