リンクは、a
、area
、link
要素で作成される概念的な構造で、2つのリソース(このうち1つは現在のDocument
)の関係りを表す。HTMLには2種類のリンクがある:
これは、現在の文書を補足する他のリソースへのリンクであり、多くの場合、ユーザーエージェントによって自動的に処理される。
これは、通常ユーザーエージェントによってユーザーに向けて示されるリンクである。これによりユーザーは、たとえばブラウザでのアクセスやダウンロードのような、ユーザーエージェントにリンクのリソースをナビゲートさせることができる。
href
属性とrel
属性を同時に持つlink
要素に対しては、リンクタイプの節における定義に従って、rel
属性のキーワードが示す関係に見合ったリンクが作られなければならない。
href
属性とrel
属性を同時に持つa
要素、area
要素に対しても同様に、リンクタイプの節における定義に従って、rel
属性のキーワードが示す関係に見合ったリンクが作られなければならない。ただし、link
要素と異なり、 rel
属性を持たず、rel
属性がハイパーリンクを生成すると定義される値も持たない、href
属性を持つa
要素やarea
要素もまた、ハイパーリンクを作成しなければならない。このように暗黙の内に生成されるハイパーリンクは、リンク元の文書をhref
属性によって示されるリソースと結びつけること以上の意味を持たない(リンクタイプを持たない)。
ハイパーリンクは、そのハイパーリンクのセマンティックの処理を修正するハイパーリンク注釈を1つ以上つけることができる。
a
およびarea
要素によって作成されるリンクa
およびarea
要素のhref
属性は、潜在的にスペースで囲まれた妥当なURLである値でなければならない。
a
およびarea
要素のhref
は必要としない。要素がhref
属性を持たない場合、ハイパーリンクを作成しない。
target
属性が存在する場合、その値は妥当なブラウジングコンテキスト名かキーワードでなければならない。これは、使用されるブラウジングコンテキストの名前を表す。User agents use this name when following hyperlinks.
a
またはarea
要素の活性化挙動が呼び出される場合、ユーザーエージェントは、ユーザーにハイパーリンクがナビゲーションに対して使用されるかどうか、または要素が指定するリソースをダウンロードするかどうかについての好みを示すことを可能にする。
ユーザー設定が存在しない限り、デフォルトは、要素がdownload
属性を持たない場合、ナビゲーションであるべきであり、属性を持つ場合、指定されたリソースをダウンロードするべきである。
ユーザーの好みによって決定されるか属性の有無を介してか属性の不在かどうか、判定がナビゲーションのハイパーリンクを使用する場合、ユーザーエージェントはハイパーリンクをたどらなければならず、決定がリソースをダウンロードするためにハイパーリンクを使用する場合、ユーザーエージェントはハイパーリンクをダウンロードしなければならない。これらの用語は、後続のセクションで定義される。
download
属性が存在する場合、著者はリソースをダウンロードするために使用されるハイパーリンクを意図することを示す。属性は値を持ってもよい。値が存在する場合、ローカルファイルシステムでリソースの標識付けに使用するための著者に推奨されるデフォルトのファイル名を指定する。許可される値に制限はないが、ほとんどのファイルシステムが句読点をファイル名にサポートするものに関して制限があるため、ユーザーエージェントはそれに応じてファイル名を調整する可能性を著者に警告する。
a
要素およびarea
要素が作成するリンクタイプはrel
属性値によって決定される。その属性値は、スペース区切りのトークンのセットでなければならない。使用できるキーワードと値が持つ意味は後述する。
rel
属性は初期値を持たない。そのため、rel属性が省略される、またはrel属性がユーザーエージェントに認識される属性値を持たない場合、文書は、リンク先リソースとの間にハイパーリンクが存在すること以外に特別な関係を持たない。
ハイパーリンクを作成するa
要素、area
要素に、hreflang
属性が指定されている場合、この属性はリンク先リソースの言語を表す。これは単なる助言である。値は、妥当なBCP 47言語タグでなければならない。[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
属性が存在する場合、この属性はリンク先のリソースのMIMEタイプを表す。これは単なる助言である。値は妥当なMIMEタイプでなければならない。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.
When a user follows a hyperlink created by an element subject, the user agent must run the following steps:
Let replace be false.
Let source be the browsing context that contains the
Document
object with which subject in question is
associated.
If the user indicated a specific browsing context when following the hyperlink, or if the user agent is configured to follow hyperlinks by navigating a particular browsing context, then let target be that browsing context.
Otherwise, if subject is an a
or area
element
that has a target
attribute, then let target be the browsing context that is chosen by applying the
rules for choosing a browsing context given a browsing context name, using the value of
the target
attribute as the browsing context name. If
these rules result in the creation of a new browsing context, set replace to true.
Otherwise, if target is an a
or area
element
with no target
attribute, but the
Document
contains a base
element with a target
attribute, then let target be the
browsing context that is chosen by applying the rules for choosing a browsing
context given a browsing context name, using the value of the target
attribute of the first such base
element as
the browsing context name. If these rules result in the creation of a new browsing
context, set replace to true.
Otherwise, let target be the browsing context that subject itself is in.
Resolve the URL given by the href
attribute of that element, relative to that
element.
If that is successful, let URL be the resulting absolute URL.
Otherwise, if resolving the URL failed, the user agent may report the error to the user in a user-agent-specific manner, may queue a task to navigate the target browsing context to an error page to report the error, or may ignore the error and do nothing. In any case, the user agent must then abort these steps.
In the case of server-side image maps, append the hyperlink suffix to URL.
Queue a task to navigate the target browsing context to URL. If replace is true, the navigation must be performed with replacement enabled. The source browsing context must be source.
The task source for the tasks mentioned above is the DOM manipulation task source.
リソースには、すぐに閲覧されるのではなく、後に使用されることが意図されているものもある。そのような意図を示すために、問題のリソースへのハイパーリンクを作成するa
要素やarea
要素にdownload
属性を指定できる。
また、この属性は、ユーザーエージェントがファイルシステムにリソースを保存する際に用いるファイル名を値として持つことができる。この値はContent-Disposition
HTTPヘッダーのfilenameパラメーターによって上書きされることがある。[RFC6266]
クロスオリジンの場合、ユーザーに悪意があるだろう挙動の警告を回避するために、download
属性はContent-Disposition
HTTPヘッダー(具体的にはattachment
ディスポジションタイプ)と組み合わせる必要がある。(これは、重要な個人情報や機密情報の意図しないダウンロードからユーザーを保護するものである。)
When a user downloads a hyperlink created by an element, the user agent must run the following steps:
Resolve the URL given by the href
attribute of that element, relative to that
element.
If resolving the URL fails, the user agent may report the error to the user in a user-agent-specific manner, may navigate to an error page to report the error, or may ignore the error and do nothing. In either case, the user agent must abort these steps.
Otherwise, let URL be the resulting absolute URL.
In the case of server-side image maps, append the hyperlink suffix to URL.
Return to whatever algorithm invoked these steps and continue these steps asynchronously.
Fetch URL and handle the resulting resource as a download.
When a user agent is to handle a resource obtained from a fetch algorithm 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.
If the user agent needs a file name for a resource being handled as a download, it should select one using the following algorithm.
This algorithm is intended to mitigate security dangers involved in downloading files from untrusted sites, and user agents are strongly urged to follow it.
Let filename be the void value.
If the resource has a Content-Disposition
header, that header specifies the attachment
disposition type, and the
header includes file name information, then let filename have the value
specified by the header, and jump to the step labeled sanitize below. [RFC6266]
Let interface origin be the origin of the
Document
in which the download or
navigate action resulting in the download was initiated, if any.
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.
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 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 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]
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.
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.
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.
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.
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.
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.
Adjust filename to be suitable for the local file system.
For example, this could involve removing characters that are not legal in file names, or trimming leading and trailing whitespace.
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 and abort these steps.
Let claimed type be the type given by the resource's Content-Type metadata, if any is known. 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 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 and abort these steps.
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 and abort these steps.
If the claimed type is known, then alter filename to add an extension corresponding to claimed type.
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
").
This last step would make it impossible to download executables, which might not be desirable. As always, implementors are forced to balance security and usability in this matter.
Return filename as the file name.
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.
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.
次の表は、この仕様書で定義されるリンクタイプを要約したものである。この表は規範的なものではない。リンクタイプに対する実際の定義は、次節以降に示されている。
この節において、参照される文書とは、リンクを表す要素によって識別されるリソースを指し、現在の文書とは、リンクを表す文書自身のリソースを指す。
To determine which link types apply to a link
, a
, or
area
element, the element's rel
attribute must be split on spaces. The resulting tokens are the link types
that apply to that element.
別の方法で指定されない限り、1つのrel
属性に対してキーワードを複数指定してはならない。
Link types are always ASCII case-insensitive, and must be compared as such.
つまり、rel="next"
とrel="NEXT"
は同義である。
リンクタイプ | 効果 | 概要 | |
---|---|---|---|
link |
a とarea |
||
alternate |
ハイパーリンク | ハイパーリンク | 現在の文書の代替表現を与える。 |
author |
ハイパーリンク | ハイパーリンク | 現在の文書または記事の著者へのリンクを与える。 |
bookmark |
使用不可 | ハイパーリンク | 最も近い祖先セクションへのパーマリンクを与える。 |
help |
ハイパーリンク | ハイパーリンク | コンテキストに応じたヘルプへのリンクを提供する。 |
icon |
外部リソース | 使用不可 | 現在の文書を表現するアイコンを取り込む。 |
license |
ハイパーリンク | ハイパーリンク | 参照される文書で説明される著作権許諾で保護される現在の文書のメインコンテンツを示す。 |
next |
ハイパーリンク | ハイパーリンク | 現在の文書があるシリーズの一部であり、かつそのシリーズの次の文書が参照される文書であることを示す。 |
nofollow |
使用不可 | 注釈 | 現在の文書の原作者や発行者が参照される文書を推奨しないことを示す。 |
noreferrer |
使用不可 | 注釈 | ユーザーがハイパーリンクをたどる際にユーザーエージェントがHTTP Referer ヘッダーを送信しないよう要求する。 |
prefetch |
外部リソース | 外部リソース | プリエンプティブにキャッシュすべき対象リソースを指定する。 |
prev |
ハイパーリンク | ハイパーリンク | 現在の文書があるシリーズの一部であり、かつそのシリーズの前の文書が参照される文書であることを示す。 |
search |
ハイパーリンク | ハイパーリンク | 現在の文書と関連する文書を通して検索に使用できるリソースへのリンクを与える。 |
stylesheet |
外部リソース | 使用不可 | スタイルシートを取り込む。 |
tag |
使用不可 | ハイパーリンク | 現在の文書に適用される(与えられたアドレスにより識別される)タグを与える。 |
Some of the types described below list synonyms for these values. These are to be handled as specified by user agents, but must not be used in documents.
alternate
"alternate
キーワードは、link
、a
、area
要素で使用してもよい。
このキーワードの意味は、他の属性値に依存する。
link
でありrel
属性がまたstylesheet
キーワードを含む場合alternate
キーワードはstylesheet
キーワードの意味を定められた方法で書き換える。alternate
キーワード自身はリンクを生成しない。
alternate
キーワードがapplication/rss+xml
またはapplication/atom+xml
を値に持つtype
属性とともに用いられている場合配信フィードへのハイパーリンクを作成する(ただし現在のページと全く同じものが配信されるとは限らない)。
The first link
, a
, or area
element in the document (in
tree order) with the alternate
keyword used with the type
attribute set to the value application/rss+xml
or the value application/atom+xml
must
be treated as the default syndication feed for the purposes of feed autodiscovery.
The following link
element gives the syndication
feed for the current page:
<link rel="alternate" type="application/atom+xml" href="data.xml">
The following extract offers various different syndication feeds:
<p>You can access the planets database using Atom feeds:</p> <ul> <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li> <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li> <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li> </ul>
現在の文書の代替表現を参照するハイパーリンクを作成する。
参照される文書の性質は、hreflang
属性、およびtype
属性で与えられる。
alternate
キーワードがhreflang
属性とともに用いられ、かつ属性値がルート要素の言語と異なる場合、これは参照される文書が現在の文書の翻訳であることを示す。
alternate
キーワードがtype
属性とともに用いられる場合、参照される文書は現在の文書を指定されたフォーマットに変換したものであることを示す。
hreflang
、およびtype
属性は、alternate
キーワードとともに指定される場合、組み合わせて使用できる。
たとえば、以下のリンクは、PDFフォーマットによるフランス語訳を指す。
<link rel=alternate type=application/pdf hreflang=fr href=manual-fr>
このキーワードが示す関係は、遷移的である。つまり、ある文書が他の2つの文書にリンクタイプ"alternate
"でリンクする場合、2つの文書が最初の文書の代替表現を意味することに加えて、2つの文書もまた互いに代替表現の関係にあることを示す。
author
"author
キーワードはlink
、a
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
a
、area
の各要素に対して、author
キーワードは、参照される文書が著者に関するより詳しい情報の提供を示す。ここでの著者とは、存在する場合、ハイパーリンクを定義する要素の先祖要素にあたる直近のarticle
要素の著者であり、存在しない場合はその文書全体の著者である。
link
要素に対して、author
キーワードは、参照される文書がページ全体の著者に関するより詳しい情報の提供を示す。
"参照される文書"には、著者のメールアドレスを指示するmailto:
URLを用いることが可能である。多くの場合、この形態が用いられる。[MAILTO]
Synonyms: For historical reasons, user agents must also treat
link
, a
, and area
elements that have a rev
attribute with the value "made
" as having the author
keyword specified as a link relationship.
bookmark
"bookmark
キーワードはa
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
bookmark
キーワードは、問題の要素のリンクを生成する直近の祖先article
要素、または祖先article
要素が存在しない場合はリンクを生成する要素が最も深く関与している節へのパーマリンクを生成する。
以下の例には、3つのハイパーリンクがある。ユーザーエージェントはパーマリンクが与えられている場所を見ることにより、問題のパーマリンクがどの仕様に適合するかを判断するかもしれない。
... <body> <h1>Example of permalinks</h1> <div id="a"> <h2>First example</h2> <p><a href="a.html" rel="bookmark">This permalink applies to only the content from the first H2 to the second H2</a>. The DIV isn't exactly that section, but it roughly corresponds to it.</p> </div> <h2>Second example</h2> <article id="b"> <p><a href="b.html" rel="bookmark">This permalink applies to the outer ARTICLE element</a> (which could be, e.g., a blog post).</p> <article id="c"> <p><a href="c.html" rel="bookmark">This permalink applies to the inner ARTICLE element</a> (which could be, e.g., a blog comment).</p> </article> </article> </body> ...
help
"help
キーワードはlink
、a
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
a
、area
の各要素について、help
キーワードは、参照される文書がハイパーリンクを定義する要素の親要素およびその子要素のより詳しいヘルプ情報を提供することを示す。
以下の例では、フォームコントロールはこれに対応したヘルプと関連付けられている。ユーザーエージェントはこの情報を用いるかもしれない。たとえば、ユーザーが"ヘルプ"や"F1"を押す際にいつでも参照される文書を表示できる。
<p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p>
link
要素について、help
キーワードは参照される文書がページ全体のヘルプを提供することを示す。
a
、area
の各要素について、ブラウザーはhelp
キーワードがリンクに異なるカーソルを表示することがある。
icon
"icon
キーワードはlink
要素で使用してもよい。このキーワードは外部リソースへのリンクを生成する。
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.
アイコンは、聴覚アイコン、視覚アイコン、または他の種類のアイコンかもしれない。If multiple icons are provided, the user agent must select the most appropriate icon according to the type
, media
, and sizes
attributes. 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. 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.
User agents are not required to update icons when the list of icons changes, but are encouraged to do so.
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
属性は、視覚形式のアイコンのサイズを与える。存在する場合、この値は単に助言を与えるだけである。複数のアイコンが利用可能な場合、ユーザーエージェントは、どのアイコンを使用するかを決定するためにこの値を使用してもよい。
存在する場合、この属性は、ASCII大文字・小文字不区別である一意なスペース区切りトークンの順不同の組である値を持たなければならない。値はそれぞれ、"any
"に一致するASCII大文字・小文字不区別である文字列か、2つの妥当な非負整数からなる値のいずれかでなければならない。この数値は、先行する"0"(U+0030)文字を持たず、かつ1つのU+0078 LATIN SMALL LETTER XまたはU+0058 LATIN CAPITAL LETTER X文字により分離される。
(CSSピクセルとは対照的に)キーワードは、生ピクセルでアイコンサイズを表す。
CSSピクセルあたり2デバイスピクセルのデバイス画素密度(2×、192dpi)をもつディスプレイを意図する50 CSSピクセル幅であるアイコンは、100生ピクセルの幅を持つだろう。この機能は、異なるリソースが小さな高解像度アイコン対大きな低解像度のアイコン(たとえば50×50 2x 対100×100 1×)に対して使用されることを示すものをサポートしない。
To parse and process the attribute's value, the user agent must first split the attribute's value on spaces, and must then parse each resulting keyword to determine what it represents.
any
キーワードは、たとえばSVG画像で提供されるなど、リソースがスケーラブルなアイコンであることを表す。
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. Abort these steps 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 "0" (U+0030) character or contain any characters other than ASCII digits, then this keyword doesn't represent anything. Abort these steps 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.
sizes
属性に指定されたキーワードは、リンクされたリソースで実際に利用可能でないアイコンのサイズを表してはならない。
In the absence of a link
with the icon
keyword, for
Document
s obtained over HTTP or HTTPS, user agents may instead attempt to
fetch and use an icon with the absolute URL obtained by
resolving the URL "/favicon.ico
" against the document's
address, as if the page had declared that icon using the icon
keyword.
次の例は、複数のアイコンを持つアプリケーションの冒頭部を示している。
<!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
キーワードは、"shortcut
"キーワードが先行してもよい。"shortcut
"キーワードが存在する場合、rel
属性の全体の値は、(トークンと他の空白文字でないものの間に単一のU+0020 SPACE文字を伴う)文字列"shortcut icon
"にASCII大文字・小文字不区別でマッチしなければならない。
license
"license
キーワードはlink
、a
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
license
キーワードは、参照される文書が、現在の文書のメインコンテンツを規定する著作権許諾の条項を提供することを示す。
この仕様は、main
要素を介して、その主な内容の一部とみなされていない文書やコンテンツの主な内容を定義する。区別は、ユーザーにとってわかりやすいように行われるべきである。
写真共有サイトについて考えてみる。そのサイトのあるページは、写真を掲載し、その写真について説明するかもしれない。そして、そのページは、以下のようにマークアップされるかもしれない:
<!DOCTYPE HTML> <html lang="en"> <head> <title>Exampl Pictures: Kissat</title> <link rel="stylesheet" href="/style/default"> </head> <body> <h1>Kissat</h1> <nav> <a href="../">Return to photo index</a> </nav> <main> <figure> <img src="/pix/39627052_fd8dcd98b5.jpg"> <figcaption>Kissat</figcaption> </figure> <p>One of them has six toes!</p> <p><small>This photograph is <a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p> </main> <footer> <a href="/">Home</a> | <a href="../">Photo index</a> <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p> </footer> </body> </html>
このケースでは、license
はこの文書のメインコンテンツである写真にのみ適用され、文書全体には適用されない。具体的には、ページのデザインそのものには適用されないということである。これらは文書の末尾に示されているとおりの著作権により保護される。このような区別は、ライセンスのリンクを参照してテキストで明確にされるべきであり、より明快なスタイリングによってなされるかもしれない(たとえば、ページのフッターで簡単で小さなテキストでページの著作権を持ちつつ、またはmain
要素のボーダーを追加しつつ、ライセンスへのリンクを写真の近くに目立つように配置するなど)。
Synonyms: For historical reasons, user agents
must also treat the keyword "copyright
" like
the license
keyword.
nofollow
"nofollow
キーワードはa
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成しないが、要素によって作成される他のハイパーリンク(他のキーワードがハイパーリンクを生成しない場合は暗黙のハイパーリンク)の注釈をつける。
nofollow
キーワードは、ページの原著者や発行者がリンクを保証しないか、2つのページに関係する人々の商業的関係のために参照される文書が主として含まれていることを示す。
noreferrer
"noreferrer
キーワードはa
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成しないが、要素によって作成される他のハイパーリンク(他のキーワードがハイパーリンクを生成しない場合は暗黙のハイパーリンク)の注釈をつける。
このキーワードは、リンクを辿る際に、リファラ情報が一切漏らされないことを示す。
If a user agent follows a link defined by an a
or area
element that
has the noreferrer
keyword, the user agent must not include a
Referer
(sic) HTTP header (or equivalent for other protocols) in the
request.
This keyword also causes the opener
attribute to remain null if the hyperlink creates a new browsing context.
prefetch
"prefetch
キーワードはlink
、a
、area
の各要素で使用してもよい。このキーワードは外部リソースへのリンクを生成する。
prefetch
キーワードは、ユーザーが指定されたリソースを必要とすることが高く見込まれるため、事前にそのリソースを取り込んでキャッシュすることが有益であることを示す。
prefetch
キーワードにより与えられたリソースにデフォルトタイプは存在しない。
search
"search
キーワードはlink
、a
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
search
キーワードは、参照された文書が、現在の文書と関連するリソースを検索するためのインターフェースを提供することを示す。
ユーザーエージェントが自動的に検索用インターフェースを発見できるよう、OpenSearch記述文書をlink
要素およびsearch
リンクタイプに使用できる。[OPENSEARCH]
stylesheet
"stylesheet
キーワードはlink
要素で使用してもよい。このキーワードは、スタイル処理モデルに寄与する外部リソースへのリンクを生成する。
指定されたリソースは、文書がどのように表示されるべきかを記述するリソースである。リソースが処理される厳密な方法は、実際のリソースの種類に依存する。
alternate
キーワードがlink
要素で併せて指定される場合、リンクは代替スタイルシートである。この場合、空でない値とともに、link
要素でtitle
属性が指定されなければならない。
stylesheet
キーワードで与えられるリソースのデフォルトタイプはtext/css
である。
The appropriate times to obtain the resource are:
When the external resource link is created on a link
element
that is already in a Document
.
When the external resource link's link
element is inserted into a document.
When the href
attribute of the link
element of an external resource link that is already in a
Document
is changed.
When the crossorigin
attribute of the
link
element of an external resource
link that is already in a Document
is set, changed, or
removed.
When the type
attribute of the link
element of an external resource link that is already in a
Document
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.
When the type
attribute of the link
element of an external resource link that is already in a
Document
but was previously not obtained due to the type
attribute specifying an unsupported type is set, removed, or
changed.
When the external resource link changes from being an alternative stylesheet to not being one, or vice versa.
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
.
Once a resource has been obtained, if its Content-Type metadata is text/css
, the user
agent must run these steps:
Let element be the link
element that created the
external resource link.
If element has an associated CSS style sheet, remove the CSS style sheet in question.
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 abort these steps.
Create a CSS style sheet with the following properties:
text/css
The resulting absolute URL determined during the obtain algorithm.
This is before any redirects get applied.
element
The media
attribute of element.
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.
The title
attribute of element.
This is similarly a reference to the attribute, rather than a copy of the attribute's current value.
Set if the link is an alternative stylesheet; unset otherwise.
Set if the resource is CORS-same-origin; unset otherwise.
null
Left at its default value.
Left uninitialized.
The CSS environment encoding is the result of running the following steps: [CSSSYNTAX]
If the element has a charset
attribute, get an encoding from that attribute's value. If that
succeeds, return the resulting encoding and abort these steps. [ENCODING]
Otherwise, return the document's character encoding. [DOM]
tag
"tag
キーワードはa
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
tag
キーワードは、参照される文書に代表されるタグが現在の文書適用されることを示す。
これはタグが現在の文書に適用されることを示すものであるから、このキーワードをタグクラウドのマークアップに用いるのは不適切である。なお、タグクラウドとは、あるページの集合に対してよく使われるタグを一覧にしたものである。
この文書は、宝石に関するページで、"http://en.wikipedia.org/wiki/Gemstone
"にタグ付けされている。これにより、たとえば、アメリカの街やRubyのパッケージフォーマット、スイスの機関車種別ではなく、"宝石"の一種であるgemに明確にカテゴライズされる。
<!DOCTYPE HTML> <html> <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. same red gem stayed there for literally years.</p> <footer> Tags: <a rel=tag href="http://en.wikipedia.org/wiki/Gemstone">Gemstone</a> </footer> </body> </html>
この文書には2つの記事が存在する。しかし、"tag
"リンクはページ全体に適用される。(そして、どこに配置されるかに関係なく適用される。article
要素内に配置する場合も同様である。)
<!DOCTYPE HTML> <html> <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="http://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="http://en.wikipedia.org/wiki/Rhaetian_Railway_Gem_4/4">Gem 4/4</a></p> </body> </html>
文書によっては、連続する文書の一部を構成する。
連続する文書は、各文書が兄および弟を持つことができる。兄を持たない文書は文書の最初であり、弟を持たない文書は文書の末尾である。
文書は複数シーケンスの一部であってもよい。
next
"next
キーワードはlink
、a
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
next
キーワードは、文書がシーケンスの一部であり、かつリンクがシーケンスにおいて次の論理的な文書に導くリンクであることを示す。
prev
"prev
キーワードはlink
、a
、area
の各要素で使用してもよい。このキーワードはハイパーリンクを生成する。
prev
キーワードは、文書がシーケンスの一部であり、かつリンクがシーケンスにおいて前の論理的な文書に導くリンクであることを示す。
Synonyms: For historical reasons, user agents must also treat the keyword
"previous
" like the prev
keyword.
あらかじめ定義されたリンクタイプ群に対する拡張は、microformats wikiのexisting-rel-valuesページにおいて登録してもよい。[MFREL]
microformats wikiのexisting-rel-valuesページには、いつでも、誰でも、自由に新たなリンクタイプを追加できる。拡張されたリンクタイプは以下の情報と共に定義されなければならない:
実際の値が定義される。値は、他の定義済みの名前と紛らわしいものであるべきでない(たとえば、大文字と小文字だけが異なる)。
値に":"(U+003A)が含まれる場合、その値は絶対URLでなければならない。
link
への効果以下のうちの1つをとる:
link
要素で指定されてはならない。link
要素で指定してもよい。ハイパーリンクを生成する。link
要素で指定してもよい。外部リソースへのリンクを生成する。a
およびarea
への効果以下のうちの1つをとる:
a
およびarea
要素で指定されてはならない。a
およびarea
要素で指定してもよい。ハイパーリンクを生成する。a
およびarea
要素で指定してもよい。外部リソースへのリンクを生成する。a
およびarea
要素で指定してもよい。要素によって作成される他のハイパーリンクを補足する。キーワードが何を意味するかについての規範的でない短い説明。
キーワードのセマンティックと要件についてのより詳細な説明へのリンク。それはWiki上の別のページかもしれないし、外部ページへのリンクかもしれない。
全く同じ処理要件を持つキーワードの一覧。著者は、同義語であると定義された値を使用すべきではなく、同義語はユーザーエージェントがレガシーコンテンツをサポートするためだけのものである。誰もが実際に使用されてない同義語を削除できる。レガシーコンテンツとの互換性のために同義語として処理する必要がある名前のみが、この方法で登録されているのである。
以下のうちの1つをとる:
キーワードが既存の値とともに冗長であることが判明した場合、削除され、既存の値の同義語としてリストされているべきである。
キーワードが、使用するまたは指定することなく一月以上の期間"proposed"(提案)状態で登録されている場合、レジストリから削除されることがある。
キーワードが"proposed"(提案)状態で追加され、既存の値とともに冗長であることが判明している場合、既存の値の同義語として削除され、リストされているべきである。キーワードは"proposed"(提案)状態で追加され、有害だと判明している場合、"discontinued"(中止)状態に変更すべきである。
誰もがいつでも状態を変更できるが、上記の定義にしたがってのみ行うべきである。
Conformance checkers may 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 values not containing a U+003A COLON character but not listed in either this specification or on the aforementioned page must be reported as invalid. The remaining values must be accepted as valid if they are absolute URLs containing US-ASCII characters only and rejected otherwise. Conformance checkers may cache this information (e.g. for performance reasons or to avoid the use of unreliable network connectivity).
Note: Even URL-valued link types are compared ASCII-case-insensitively. Validators might choose to warn about characters U+0041 (LATIN CAPITAL LETTER A) through U+005A (LATIN CAPITAL LETTER Z) (inclusive) in the pre-case-folded form of link types that contain a colon.
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.
状態"proposed"また"ratified"とともにmicroformats wikiのexisting-rel-valuesページで拡張として定義されるリンクタイプは、"効果"の定めるところに従って、link
、a
、area
の各要素のrel
属性とともに使用してもよい。[MFREL]