[6] [CODE(HTMLe)[link]] 要素は、当該 [[HTML]] 
文書そのものを[[始点アンカー]]とする[[ハイパーリンク]]を記述するための[[要素]]です。

* 仕様書

[REFS[
- [90] [CITE@en[Resource Hints]] ([TIME[2016-05-21 01:13:13 +09:00]]) <https://w3c.github.io/resource-hints/#h-fetching-the-resource-hint-link>
]REFS]

[20]
仕様書:
- [DEL[[[HTML 2.0]]: [[RFC 1866]] ([[IETF]] [[提案標準]])]]
([[RFC 2854]] により廃止)
-- [CSECTION@en[5.2.4. Link: LINK]]
- [[HTML 4]]
-- ''Links in HTML documents'' <IW:HTML4:"struct/links.html">
--- 12.3 Document relationships: the LINK element 
<IW:HTML4:"struct/links.html#edef-LINK">

[21] 
:[[開始タグ]]:必須
:[[終了タグ]]:禁止 (HTML 4), 必須 (XHTML 1)
:[[内容模型]]:[CODE(SGML)[[[EMPTY]]]] ([[強制空要素]]型)
:出現できる文脈:[CODE(HTMLe)[[[head]]]] 要素内、任意個

* 属性

[FIG(short list)[ [29] [CODE(HTMLe)@en[link]] [[要素]]の[[内容属性]]
- [[大域属性]]
- [CODE(HTMLa)@en[as][as=""]]
- [CODE(HTMLa)@en[href]]
- [CODE(HTMLa)@en[integrity]]
- [CODE(HTMLa)@en[nonce][nonce=""]]
- [CODE(HTMLa)@en[referrerpolicy]]
- [CODE(HTMLa)@en[rel]]
- [CODE(HTMLa)@en[color][<link color>]]

[HISTORY[
- [CODE(HTMLa)@en[mask][<link mask>]]
- [CODE(HTMLa)@en[pr][pr=""]]
- [CODE(HTMLa)@en[usecache]]
- [CODE(HTMLa)@en[scope][<link scope>]]
- [CODE(HTMLa)@en[workertype]]
- [CODE(HTMLa)@en[updateviacache]]
]HISTORY]
]FIG]

,属性名	,属性値	,既定値	,説明	,状態	,出典
,[CODE(HTMLa)@en[[[bulletin-date]]]]	,	,	,	,[[満期]] [DEL@en[([[IETF]] [[I-D]])]]
,[CODE(HTMLa)@en[[[bulletin-expires]]]]	,	,	,	,[[満期]] [DEL@en[([[IETF]] [[I-D]])]]
,[CODE(HTMLa)@en[[[bulletin-image]]]]	,[CODE(SGML)@en[%[[URI]];]]	,	,	,[[満期]] [DEL@en[([[IETF]] [[I-D]])]]
,[CODE(HTMLa)@en[[[bulletin-text]]]]	,[CODE(SGML)@en[%[[Text]];]]	,	,	,[[満期]] [DEL@en[([[IETF]] [[I-D]])]]
,[CODE(HTMLa)[[[charset]]]]	,[CODE(SGML)[%[[Charset]]]]	,(なし)	,リンク先 charset のヒント	,[HTML 4]
,[CODE(HTMLa)@en[[[duration]]]]
,[CODE(HTMLa)[[[hreflang]]]]	,[CODE(SGML)[%[[LanguageCode]]]]	,(なし)	,リンク先言語のヒント	,[HTML 4]
,[CODE(HTMLa)@en[[[integrity]]]]
,[CODE(HTMLa)[[[media]]]]	,[CODE(SGML)[%[[MediaDesc]]]]	,	,	,[HTML 4]
,[CODE(HTMLa)[[[methods]]]]	,	,	,
,[CODE(HTMLa)[[[rev]]]]	,[CODE(SGML)[%LinkTypes]]	,	,関係(逆)	,[HTML 4]
,[CODE(HTMLa)@en[[[speed]]]]
,[CODE(HTMLa)@en[[[src]]]]
,[CODE(HTMLa)[[[target]]]]	,[CODE(SGML)[%[[FrameTarget]]]]	,	,	,[HTML 4] 非推奨
,[CODE(HTMLa)[[[type]]]]	,[CODE(SGML)[%[[ContentType]]]]	,(なし)	,リンク先媒体型のヒント	,[HTML 4]
,[CODE(HTMLa)[[[urn]]]]
,[CODE(HTMLa)@en[[[version]]]]


[4] [[HTML4]] によると [CODE(HTMLa)[[[lang]]]] 属性も [CODE(HTMLa)[[[dir]]]] 属性も対象は 
[CODE(HTMLa)[[[title]]]] 属性だけのようです。

[39] 似た機能を持つ [CODE(HTMLe)@en[a]] [[要素]]とは違って、
[CODE(HTMLa)@en[target]] や [CODE(HTMLa)@en[download]] はありません。

-*-*-

[104] 
使える[[属性]]は、 [CODE(HTMLa)@en[rel]] [[属性値]]によって変化します。

[FIG(table col)[ [105] [CODE(HTMLe)@en[link]] [[要素]]の[[属性]]の制約

:semantics: リンクの種別
:rel: [CODE(HTMLa)@en[rel]]
:itemprop: [CODE(HTMLa)@en[itemprop]]
:crossorigin: [CODE(HTMLa)@en[crossorigin]]
:media: [CODE(HTMLa)@en[media][<link media>]]
:nonce: [CODE(HTMLa)@en[nonce][<link nonce>]]
:integrity: [CODE(HTMLa)@en[integrity][<link integrity>]]
:hreflang: [CODE(HTMLa)@en[hreflang]]
:type: [CODE(HTMLa)@en[type][<link type>]]
:referrerpolicy: [CODE(HTMLa)@en[referrerpolicy]]
:title: [CODE(HTMLa)@en[title]]
:sizes: [CODE(HTMLa)@en[sizes]]
:as: [CODE(HTMLa)@en[as][<link as>]]
:scope: [CODE(HTMLa)@en[scope][<link scope>]]
:workertype: [CODE(HTMLa)@en[workertype]]
:updateviacache: [CODE(HTMLa)@en[updateviacache]]
:color: [CODE(HTMLa)@en[color][<link color>]]

:semantics: [[外部資源リンク]]
:rel: [MUST[必須]]
:itemprop: [MUST[禁止]]
:crossorigin: ○
:integrity: [CODE(HTML)[rel=stylesheet]]
:type: ○
:media: ○
:hreflang: ○ ([[ヒント]])
:referrerpolicy: ○
:title: [CODE(HTML)@en[rel=stylesheet]] の時特別
:nonce: ○
:sizes:
[CODE(HTML)[rel=icon]], [CODE(HTML)[rel=apple-touch-icon]]
:as: [CODE(HTML)[rel=preload]]
:scope: [CODE(HTML)[rel=serviceworker]]
:workertype: [CODE(HTML)[rel=serviceworker]]
:updateviacache: [CODE(HTML)[rel=serviceworker]]
:color: [CODE(HTML)[rel=mask-icon]]

:semantics: [[ハイパーリンク]]
:rel: [MUST[必須]]
:itemprop: [MUST[禁止]]
:crossorigin: 無意味
:nonce: 無意味
:integrity: [MUST[禁止]]
:crossorigin: 無意味
:type: ○ ([[ヒント]])
:media: ○ ([[ヒント]])
:hreflang: ○ ([[ヒント]])
:referrerpolicy: ○
:title: ○
:sizes: [MUST[禁止]]
:as: [MUST[禁止]]
:scope: [MUST[禁止]]
:workertype: [MUST[禁止]]
:updateviacache: [MUST[禁止]]
:color: [MUST[禁止]]

:semantics: [[マイクロデータ]]
:rel: [MUST[禁止]]
:itemprop: [MUST[必須]]
:nonce: 無意味
:integrity: [MUST[禁止]]
:crossorigin: 無意味
:hreflang: 無意味
:type: 無意味
:media: 無意味
:referrerpolicy: 無意味
:title: 無意味
:sizes: [MUST[禁止]]
:as: [MUST[禁止]]
:scope: [MUST[禁止]]
:workertype: [MUST[禁止]]
:updateviacache: [MUST[禁止]]
:color: [MUST[禁止]]

]FIG]

;; [106] 1つの [CODE(HTMLe)@en[link]] [[要素]]が[[外部資源リンク]]かつ[[ハイパーリンク]]となることが認められていますから、
この表で「禁止」であっても[[属性]]が指定されても構わない場合があります。


- [327] 
[CITE[Tamil and Sanskrit Slokas]], [[Venkatesh K. Elayavalli]], [TIME[2025-07-13T05:58:59.000Z]], [TIME[1999-11-11T18:08:34.829Z]] <https://web.archive.org/web/19991111180747/http://www.srivaishnava.org/slokas/slokas.htm>

>
[PRE[
 <keywords>Slokas Tamil, Sanskrit, Sri Vaishnavava Slokas, Ramanuja</keywords>
   <link hxburned rel="fontdef" src="http://www.srivaishnava.org/adhawin.pfr">
]PRE]




* 文脈

[83] [[XML Sitemaps]] の [CODE(XMLe)@en[[[url]]]] [[要素]]の[[子要素]]として使えます。

[REFS[
- [82] [CITE@en[App Indexing for Google Search — Google Developers]] ([TIME[2013-10-31 15:05:25 +09:00]] 版) <https://developers.google.com/app-indexing/webmasters/details>
]REFS]

* 状態

[96] 
[FIG(list members)[
: [F[[CODE(DOMa)@en[dropzone]]]] : [CODE(DOMi)@en[DOMTokenList]]
: [F[[CODE(DOMa)@en[relList]]]] : [CODE(DOMi)@en[DOMTokenList]]
]FIG]

* レンダリング

[13] [[ハイパーリンクの処理]]も参照。

[22] レンダリング例:
- リンクの drop‐down メニューがついてる工具棒 [SRC[HTML 4]]
- 文書群を印刷するときの基本材料 [SRC[HTML 4]]
- 常時表示メニューや文脈メニューの一部として
- 文書本文領域の最初や最後の部分として

* 処理

[14] [[ハイパーリンクの処理]]も参照。

** 検索円陣

[24] [[検索円陣]]に対しては、特に次のようなものへの [CODE(HTMLe)[link]]
が有用です。 [SRC[HTML 4]]

- 文書の他の言語で書かれた版
- 文書の他の媒体向け (例: 印刷用) に書かれた版
- 文書群の開始頁

** 挿入手順群、削除手順群、属性変更手順群

[91] 次の処理が定義されています。
[FIG(list)[
- [[挿入手順群]]
-- [[文書に挿入]]
--- [CODE(HTML)@en[dns-prefetch]], [CODE(HTML)@en[preconnect]], [CODE(HTML)@en[prefetch]],
[CODE(HTML)@en[prerender]] [SRC[>>90]]
--- [CODE(HTML)@en[next][rel-next]]
- [[属性変更手順群]]
-- [CODE(HTMLa)@en[rel]] [[属性]]の変更
--- [[文書中]]かつリンクが作成された場合
---- [CODE(HTML)@en[dns-prefetch]], [CODE(HTML)@en[preconnect]], [CODE(HTML)@en[prefetch]],
[CODE(HTML)@en[prerender]] [SRC[>>90]]
---- [CODE(HTML)@en[next][rel-next]]
-- [CODE(HTMLa)@en[href]] [[属性]]の変更
--- [[文書中]]の場合
---- [CODE(HTML)@en[dns-prefetch]], [CODE(HTML)@en[preconnect]], [CODE(HTML)@en[prefetch]],
[CODE(HTML)@en[prerender]] [SRC[>>90]]
---- [CODE(HTML)@en[next][rel-next]]
--- [[属性]]の削除、[[空文字列]]への設定
---- [CODE(HTML)@en[dns-prefetch]], [CODE(HTML)@en[preconnect]], [CODE(HTML)@en[prefetch]],
[CODE(HTML)@en[prerender]] [SRC[>>90]]
---- [CODE(HTML)@en[next][rel-next]]
]FIG]

;; 詳細は各[[リンク型]]の項を参照。

* [CODE(DOMi)@en[HTMLLinkElement]] インターフェイス

[FIG(short list)[ [92] [CODE(DOMi)@en[HTMLLinkElement]] [[インターフェイス]]の[[メンバー][インターフェイスメンバー]]
- [CODE(DOMa)@en[as][<link as>]]
- [CODE(DOMa)@en[integrity]]
- [CODE(DOMa)@en[nonce][nonce=""]]
- [CODE(DOMa)@en[scope][<link scope>]]
- [CODE(DOMa)@en[useCache]]
- [CODE(DOMa)@en[workerType]]
]FIG]

* 歴史


[FIG(data)[ [118] [[HTML要素概説]]

:[F[要素名]]:[CODE[link]]
:日付:[TIME[1992-12-02]]
:説明:
[TIME[1992-12-02]]付の
[[Tim Berners‑Lee]]
のウェブページに、
現在の
[CODE[link]]
要素の構想が記されている。
:出典:
[REFS[

- 
[CITE[Future plans for HTML]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[1992-12-02T18:35:56.000Z]], [TIME[2024-08-12T09:20:27.147Z]] <https://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Future.html>

]REFS]


]FIG]


[FIG(data)[ [119] [[HTML要素概説]]

:[F[要素名]]:[CODE[link]]
:日付:[TIME[1993-01-06]]
:説明:
[TIME[1993-01-06]]版 [[HTML DTD]]
にある。
[SRC[HTML19930106:Dan]]

]FIG]






** HTML2

[30]
普通[[著者]]、関係する[[索引]]・[[用語集]]、 古い版や新しい版、
文書階層、[[スタイル・シート]]など関連付ける資源、 その他を示すために使います。
[SRC[RFC 1866 5.2.4]]

** HTML4

[1] [[HTML 4]] では必須属性なしなんですけど、本当にそれでいいのでしょうか? 
多分 [CODE(HTMLa)[[[href]]]] 属性は必須でしょう。

[5] こんな要素にまで [CODE(HTMLa)[onmouse[VAR[*]]]] /
[CODE(HTMLa)[onkey[VAR[*]]]] 属性があるなんて、徹底してますね。

** XHTML2

[51] [[RDFa]] が取り込まれた [[XHTML2]] の第6次案では [CODE(HTMLe)@en[[[link]]]] [[要素]]や
[CODE(HTMLe)@en[[[meta]]]] [[要素]]を[[子供]]にできるようになっています。また、
[[文書]]中ほとんどどこででも使えるように変更されています。

;; [CITE@en[- XHTML Metainformation Module]] ([TIME[2004-07-22 15:25:35 +09:00]] 版) <http://www.w3.org/TR/2004/WD-xhtml2-20040722/mod-meta.html>

** HTML 以外

[117] [[HTML]] 由来で [[DTBook]] にもありました。

** Web Linking

[56] [[RFC 5988]] は [CODE(HTMLe)@en[[[link]]]] [[要素]]を [[Web Linking]]
の[[直列化]]の1方式として取り扱っていました。

;; [57] 2010年に出版された [[RFC]] で [[HTML4]] をベースにした規定というのは甚だ時代遅れ感がありますがw

[REFS[
- [58] [CITE@en[RFC 5988 - Web Linking]] ([TIME[2012-03-22 09:19:11 +09:00]] 版) <http://tools.ietf.org/html/rfc5988#appendix-A>
]REFS]

;; [59] [[RFC]] が [[HTML]] について規定する正当性は特になく、若干遠慮して本文ではなく附属書になっているようですw
(しかし[[附属書]]が[[参考]]であるとは書かれていないので、[[規定]]の一部なのでしょうが・・・。)

[60] [[HTML5]] の[[リンク型]]の定義を [[IANA]] の登録簿にしようと [[IETF]]
系の人達が [[HTML WG]] でロビー活動を行なっていたこともありましたが、採用されておらず、
あくまで [[RFC]] の規定は [[IETF]] 側からの勝手な見解となっており、
一般的な [[HTML]] の解釈とは一致していないようです。

[61] [[HTML4]] の [CODE(HTMLe)@en[[[link]]]] [[要素]]は [CODE(HTMLa)@en[[[href]]]]
[[属性]]を[[対象URI]]、 [CODE(HTMLa)@en[[[rel]]]] [[属性]]を[[リンク関係型]]、
当該[[HTML文書]]全体に関連付けられた [[URL]] を[[文脈]]とする [[Web Linking]]
[[リンク]]に写像することができます。 [SRC[>>58]]

[62] [[HTML4]] が定義する[[リンク型]]は [[IETF]] 側でも登録されており、そのまま使うことができます。
[SRC[>>58]]

;; [63] 実際には [[HTML4]] の[[リンク型]]と同名であっても別の出典から登録されたものがあり、
その[[意味]]が必ずしも一致しているとは断言できないのですが・・・。

[64] 逆に[[拡張リンク関係型]] ([[URL]] で表されるもの) を
[[HTML4]] で表現するにあたっては、幾つかの方法が考えられます。例えば、
- [65] [[絶対URL]]として表す
- [66] [CODE(HTMLa)@en[[[profile]]]] [[属性]]の [[URL]] を[[接頭辞]]として使って表す
- [67] [[RDFa]] の方法により ([[CURIE]] で) 表す

... といったような方法が考えられます。従って[[リンク]]を使う[[応用]]はそれぞれ [[HTML4]]
でどう[[直列化]]するべきかを定義する必要があります。 [SRC[>>58]]

;; [68] 既に [[HTML5]] が廃止した [CODE(HTMLa)@en[[[profile]]]] [[属性]]をわざわざ推すあたりが時代錯誤感激しいですね。というか著者が
[CODE(HTMLa)@en[[[profile]]]] [[属性]]存続主義者なのでしょうが。しかし[[応用]]依存にして明確に決めないで、
[[相互運用性]]をどうやって確保するつもりなのでしょう。

;; [76] [[HTML4]] でも [[HTML5]] でも [CODE(HTMLa)@en[[[rel]]]]
[[属性値]]は[[ASCII大文字・小文字不区別]]であり、 [[Web Linking]] では [[URL]]
は[[大文字・小文字区別]]である点も互換性がありませんが、特に言及はありません。

[69] [[HTML]] では [[IANA]] 未登録の[[リンク関係型]]で [[URL]]
でないものがよく使われていることがわかっており、適合する [[HTML]]
の実装はこれを誤りとはみなさずに、局所的な適用範囲の (当該[[文書]]内で意味を持つ)
[[リンク関係型]]と考えるべきです。 [SRC[>>58]]

;; [70] 本当に、なんで [[HTML]] の[[利用者エージェント]]の適合性を規定しているのでしょうね・・・。
それは [[HTML]] の仕様の役目でしょうに・・・。どうしてもそれを規定したいのなら、
[[HTML4]] と [[Web Linking]] の両方を実装する[[UA]]は [CODE(HTMLa)@en[[[rel]]]]
[[属性]]をこう解釈しなければならない、ともっとはっきり定義すれば良いのに。

[71] [[IANA]] に登録されていても [[HTML4]] で定義されていない[[リンク型]]もたくさんありますが、
これを [[HTML4]] でどう表現するのかについてはなぜか一切言及がありません。

[72] [[HTML4]] で [CODE(HTML)@en[[[alternate stylesheet]]]] の組には特別な意味が与えられているため、
[CODE(HTTP)@en[[[Link:]]]] 欄として直列化するときには単一のリストとして、
[CODE(HTTP)@en[[[rel]]="[[alternate stylesheet]]"]] のように表すべきです。 [SRC[>>58]]

[73] [[HTML4]] の定義する[[属性]]のいくつかは [CODE(HTTP)@en[[[Link:]]]]
欄では明確に定義されていませんが、忠実に再現するために拡張[[引数]]としてそのまま直列化することもできます。
[SRC[>>58]]

;; [74] [CODE(HTMLa)@en[[[target]]]] [[属性]]などのことでしょう。それならそれで定義しておけばいいのになぜ曖昧にするのでしょうね。

;; [75] しかしなぜ [CODE(HTMLe)@en[[[link]]]] [[要素]]と [CODE(HTTP)@en[[[Link:]]]]
欄の対応関係を定義するのか、という肝心の意図が全然説明されていません。これは
[CODE(XMLe)@en[[[atom:link]]]] [[要素]]についての同様の規定でも同じです。

** HTML5


[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[link]]
:日付:[TIME[2005-12]]
:説明:
[TIME[2005-12]]の [[Google検索]]のデータベースを使った調査によると、
[[要素]]の利用数第17位が
[CODE[link]]
だった。
:出典:
[REFS[

-
[CITE[Google Code: Web Authoring Statistics: Pages and elements]], 
[DATA(.author)[[[Ian Hickson]]]],
[TIME(.published)[2006]],
[TIME[2024-08-24T07:08:22.000Z]], [TIME[2006-02-03T03:49:06.745Z]] <https://web.archive.org/web/20060203033128/http://code.google.com/webstats/2005-12/pages.html>

]REFS]

]FIG]



* 実装

[7] 大昔から定義されている要素型であるにもかかわらず、
長らく [[Lynx]] などの一部[[WWWブラウザ]]等しか実装しない瀕死状態でしたが、
[[外部スタイル・シート]]の指定に使われたことで一躍有名となり、
意味マーク付けへの回帰の流れの中で再び注目されるようになりました。

現在では [[Mozilla]] や [[Opera]] のような有名な WWW
ブラウザも目立つ形で実装し、 [[IE]] でも利用可能にする拡張
tool が幾つも公開され、同時に [[HTML]] 文書に [CODE(HTMLe)[link]]
要素を明記する流れが広まっています。

[17] [[NCSA Mosaic]] 3.0 とか [[iCab]] とか、
昔から実装はあったことはあったのだけど。。。

[8] [CODE(HTML)[link]] 要素型を使って前後の文書などの関係を明記し、
Web ブラウザの [[UI]] を通して利用可能となることで、
Web browsing の効率は著しく向上します。

[16] >>7 多くの解説書に[Q[表示されないから意味が無い]]
とまで切り捨てられたからなあ。悲惨だよね。

[9] ''Bug 2800 - No UI for HTML2 "LINK" element'' <http://bugzilla.mozilla.org/show_bug.cgi?id=2800>: 
[[Mozilla]] での [CODE(HTMLe)[link]] 要素の実装について。

[15] [[Excel]] (少なくても Excel 10) は、 
[SAMP(HTML)[<link id="shLink" href="foo.files/sheet002.htm">]] とか 
[SAMP(HTML)[<link id="shLink">]] とかを一つの文書内に一杯出力します。 
[CODE(HTMLa)[id]] と [CODE(HTMLa)[rel]] をまちがえているとしかおもえません(w

[40]
[[libwww]]の[[HTML]][[構文解析器]]は1996年7月20日のRelease 4.1b3で[CODE(HTMLe)@en[[[link]]]]を実装しました。
([[名無しさん]] [sgea])

[43]
[CITE[link要素とCSSのみでナビゲーションを作る]] <http://overknee.info/2006/08/20/125918>

[[Gecko]] は [CODE(HTMLe)@en[[[link]]]] を
[CODE(HTMLe)@en[[[a]]]] と同じように[[リンク]]として[[レンダリング]]する。
([[名無しさん]] [WEAK[2006-08-23 00:15:14 +00:00]])

[45]
[CITE@ja[FirefoxでOperaのようなlink要素を表示させる「Mozeraナビ=叢ナビ」 (インターネット帳面)]] ([CODE[2007-02-09 08:54:37 +09:00]] 版) <http://ima.pandach.com/cgi-bin/mt/2006/09/firefoxoperalink.php>
([[名無しさん]])

[46]
[CITE[link 要素を可視化してみる - double-team.org]] ([CODE[2007-02-08 18:33:35 +09:00]] 版) <http://www.double-team.org/2007/02/07/000034/>
([[名無しさん]])

[[#comment]]


*** [CODE(HTMLe)[link]] 要素によるスタイル・シートの実装

[33]
:[[Trident]] ([[WinIE]]):
:[[Classic Mozilla]]:
:[[Tasman]] ([[MacIE]]):
:[[iCab]]:
:[[Gecko]] ([[Mozilla Suite]], [[Firefox]] など):
:[[Opera]]:
:[[KHTML]] ([[Safari]] など):

その他枚挙に暇がありません。

[[#comment]]


*** [CODE(HTMLe)[link]] 要素によるナビゲーションの実装

[32]
:[[Lynx]]:かなり以前から実装。
画面例: <http://www.kanzaki.com/docs/html/link-navibar.html#genid1>,
<http://www.fromdfj.net/html/link.html>
:[[NCSA Mosaic]]:[[NCSA Mosaic]] 3.0 以降で実装。
画面例: <http://www.fromdfj.net/html/link.html>
:[[iCab]]:
画面例: <http://www.kanzaki.com/docs/html/link-navibar.html#genid2>,
<http://www.fromdfj.net/html/link.html>
:[[emacs-w3m]]:
2001年8月に実装されました。
[emacs-w3m:01393]
<http://emacs-w3m.namazu.org/ml/thrd16.html#01392>
:[[Mozilla Suite]]:
[[Mozilla]] 0.9.5 ''以上'' 1.0 ''未満''と 1.1 ''以上''で
[[Site Navigation Bar]] として実装。 (>>9)
画面例: <http://www.kanzaki.com/docs/html/link-navibar.html#genid0>,
<http://car.s35.xrea.com/better/link.php#mozilla>,
<http://www.fromdfj.net/html/link.html>
:[[Opera]]:[[Opera]] 7 以降で実装。
画面例: <http://car.s35.xrea.com/better/link.php#opera>
:[[Mozilla Firefox]] [[Link Toolbar]]:
[[拡張]]機能として用意されています。 [CODE(HTMLe)[[[link]]]]
要素に限らず、 [CODE(HTMLe)[[[a]]]] 要素や [[URI]]
による推測も含めてナビゲーションを提供します。
画面例: <http://car.s35.xrea.com/better/link.php#firefox>

この他 [[WinIE]] 用の拡張、 [[Mozilla]] 系ブラウザ用の拡張、
[[Gecko]] や [[Trident]] を使った独自ブラウザなど、
細かいものも入れればきりがありません。

[[#comment]]


*** [CODE(HTMLe)[link]] 要素による favicon の実装

[34] → [CODE(file)[[[favicon.ico]]]]


** 不思議解釈

[35]
[[Stricter]] 系過激派の中には、[[ナビゲーション]]的な記述が
[CODE(HTMLe)@en[[[body]]]] 内に含まれるのは好ましくなく、
すべて [CODE(HTMLe)@en[[[link]]]] 要素を使って記述されるべきだと考える人もいます。

[36]
ながくあってないもの状態の時代が続いたので、
未だに[Q[多くのブラウザが対応していない]]などと嘘を平気で言う人がよくいます。
([[名無しさん]] [sage] [WEAK[2005-12-13 11:13:11 +00:00]])

[[#comment]]


** 例

[23]
[PRE(HTML)[
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
  <TITLE>Chapter 2</TITLE>
  <LINK rel="Index" href="../index.html">
  <LINK rel="Next"  href="Chapter3.html">
  <LINK rel="Prev"  href="Chapter1.html">
</HEAD>
...the rest of the document...
]PRE]

[WEAK[(HTML 4 仕様書より)]]

[25] 色々な言語の版へのリンクの例
[PRE(HTML)[
<HEAD>
<TITLE>The manual in English</TITLE>
<LINK title="The manual in Dutch"
      type="text/html"
      rel="alternate"
      hreflang="nl" 
      href="http://example.com/manual/dutch.html">
<LINK title="The manual in Portuguese"
      type="text/html"
      rel="alternate"
      hreflang="pt" 
      href="http://example.com/manual/portuguese.html">
<LINK title="The manual in Arabic"
      type="text/html"
      rel="alternate"
      charset="ISO-8859-6"
      hreflang="ar" 
      href="http://example.com/manual/arabic.html">
<LINK lang="fr" title="La documentation en Fran&ccedil;ais"
      type="text/html"
      rel="alternate"
      hreflang="fr"
      href="http://example.com/manual/french.html">
</HEAD>
]PRE]

[WEAK[(HTML 4 仕様書より、改)]]

[26] 印刷版へのリンクの例
[PRE(HTML)[
<HEAD>
<TITLE>Reference manual</TITLE>
<LINK media="print" title="The manual in postscript"
      type="application/postscript"
      rel="alternate"
      href="http://example.com/manual/postscript.ps">
</HEAD>
]PRE]

[WEAK[(HTML 4 仕様書より、改)]]

[27] 文書群の最初の文書へのリンクの例
[PRE(HTML)[
<HEAD>
<TITLE>Reference manual -- Page 5</TITLE>
<LINK rel="Start" title="The first page of the manual"
      type="text/html"
      href="http://example.com/manual/start.html">
<LINK rel="Prev" title="Page 4"
      type="text/html"
      href="http://example.com/manual/page4.html">
<LINK rel="Next" title="Page 6"
      type="text/html"
      href="http://example.com/manual/page6.html">
</HEAD>
]PRE]

[WEAK[(HTML 4 仕様書より、改)]]

[[#comment]]


** 他との関係

[28] [[HTTP]] には [CODE(HTTP)[[[Link]]:]] (古くは [CODE(HTTP)[[[WWW-Link]]:]] とも)
という[[実体頭欄]]があります。 [CODE(HTTP)[Link]] は [CODE(HTMLe)[link]]
の弟にあたります。

HTML 4 12.4.1 Resolving relative URIs
<IW:HTML4:"struct/links.html#resolving-relative-uris">
の注には、 [CODE(HTTP)[Link]] を [CODE(HTMLe)[link]] と同じように扱うと書いてあります。
(が、[[基底URI]] の話なので、基底 URI 限定のメモかもしれません。)

[[#comment]]


** メモ

[10] HTML 4 でも [CODE(HTMLa)[[[accesskey]]]] 属性は無いんだね。

[11] >>10 文書が個々に指定するよりブラウザの [[UA]] で 
[CODE(HTMLa)[[[rel]]]] / [CODE(HTMLa)[[[rev]]]] ごとに決まってた方がいい。 
[CODE(HTML)[[CODE(HTMLa)[rel]]=[[prev]]]] == [KBD[←]] とか。

[19] ''Subotnik: Das 'link'-Element in (X)HTML'' 
<http://www.subotnik.net/html/link.html> (ドイツ語): 
[CODE(HTMLa)[link]] 要素についてのありとあらゆる情報のリンク集。 
(ドイツ語が読めなくてもリンク集なので大丈夫です。)

[31]
[CITE[linkのススメ - 駄的HTML改善計画]] <http://car.s35.xrea.com/better/link.php>

[42]
[[Link Toolbar]] とかで [[URI]] の[[コピー]]ができないのが不便・・・。
([[名無しさん]] [WEAK[2006-06-21 23:04:45 +00:00]])

[44]
[CITE[我的春秋: link 要素をナビゲーションに利用することの注意点(改訂)]] ([CODE[2007-02-09 08:54:04 +09:00]] 版) <http://my-chunqiu.cocolog-nifty.com/blog/2007/02/link__be31.html>
([[名無しさん]] [WEAK[2007-02-09 00:07:14 +00:00]])

[47]
[CITE@ja[パンくずリストがベストとは限らない | WWW WATCH]] ([CODE[2007-02-10 14:54:24 +09:00]] 版) <http://hyper-text.org/archives/2007/02/topic_path.shtml>
([[名無しさん]] [WEAK[2007-02-10 05:56:55 +00:00]])

[[#comment]]


* メモ

[18] [WEAK[2003-08-30 23:52:46 +00:00]] ''[[名無しさん]]'': 
なぜかこの WikiPage が <IW:Google:"阪大ちゃんねる"> で20位、 
<IW:Google:"阪大ちゃんねろ"> 及び <IW:Google:"大阪大学ハイパーリンク"> で1位ですよ。なんでやねん。

[37]
[CITE[DPML Transit Link Protocol]] (2006年1月1日付[[URI scheme]]仕様書)
<http://dpml.net/transit/technical/link.html>
([[名無しさん]] [sage])

[38]
例 [SRC[>>37]]:
[CODE(URI example)@en[link:module:dpml/metro/dpml-metro]]

([[名無しさん]] [sage])

[41]
<http://www.re.be/css2xslfo/1_3_2/manual.pdf#page=26>:
[PRE(CSS example code)[
[CODE(HTMLe)@en[[[a]]]]'''['''[CODE(HTMLa)@en[[[href]]]]''']''' { [[link]]: [CODE(HTMLa)@en[[[href]]]] }
]PRE]

([[名無しさん]] [sage])

[48]
[CITE[Document specific background and foreground control]] ([CODE[2007-02-26 22:14:03 +09:00]] 版) <http://web.archive.org/web/19961020032532/http://www3.netscape.com/assist/net_sites/bg/index.html>
([[名無しさん]])

[49]
[CITE[XML.com: Building the Annotated XML Specification]] ([[Tim Bray]] 著, [CODE[2007-03-17 18:34:30 +09:00]] 版) <http://www.xml.com/pub/a/98/09/exexegesis-0.html?page=2>
([[名無しさん]])

[50]
[CITE@en[Re: '''['''XHTML 2''']''' renaming :link to :unvisited]] ([[Bert Bos]] 著, [TIME[2006-09-28 21:34:24 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-style/2006Sep/0278.html>
([[名無しさん]])


[52] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-08-31 23:52:26 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=3720&to=3721>

[53] [CITE[IRC logs: freenode / #whatwg / 20100807]]
([TIME[2010-08-13 08:31:42 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20100807#l-69>

[54] [CITE@en[draft-hammer-discovery-03 - LRDD: Link-based Resource Descriptor Discovery]]
( ([TIME[2010-09-22 07:17:54 +09:00]] 版))
<http://tools.ietf.org/html/draft-hammer-discovery-03>

[55] [CITE@en[Web Applications 1.0 r6388   Disallow <link> from having both rel='' and itemprop=''. This might change back if there are compelling use cases, but in the meantime it seems like this is likely to catch errors. This also effectively disallows rel='' on <link>s in <body>.]]
( ([TIME[2011-08-10 05:08:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6387&to=6388>

[77] [CITE@en[Building Smartphone-Optimized Websites - Webmasters — Google Developers]]
( ([TIME[2012-08-02 09:24:38 +09:00]] 版))
<https://developers.google.com/webmasters/smartphone-sites/details>

[78] [CITE[Document specific background and foreground control]]
( ([TIME[2013-03-05 11:23:15 +09:00]] 版))
<http://web.archive.org/web/20020806181026/http://wp.netscape.com/assist/net_sites/bg/>

[79] [CITE[WWWLibrary_1.1]]
( ([TIME[2003-08-10 20:15:53 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0206.html>

[80] [CITE[IRC logs: freenode / #whatwg / 20130408]]
( ([TIME[2013-04-12 00:56:17 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130408#l-919>

[81] [CITE@en[Web Applications 1.0 r8222 Clarify the activation behaviour of <link> elements.]]
( ([TIME[2013-10-16 02:28:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8221&to=8222>

[84] [CITE@en[Flip ahead browsing (Windows)]]
( ([TIME[2013-11-13 13:59:10 +09:00]] 版))
<http://msdn.microsoft.com/en-us/library/ie/jj883726(v=vs.85).aspx>

[85] [CITE@en[Re: LINK only in HEAD?]]
( ([[Ian Hickson]] 著, [TIME[2013-11-29 07:07:13 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-webapps/2013OctDec/0638.html>

[86] [CITE@en[HTML+RDFa 1.1]]
( ([TIME[2013-08-20 15:49:04 +09:00]] 版))
<http://www.w3.org/TR/2013/REC-html-rdfa-20130822/#extensions-to-the-html5-syntax>

[87] [CITE@en[Web Applications 1.0 r8390     Update how the interaction with CSS style sheets and CSSOM is defined.]]
( ([TIME[2014-01-14 07:45:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8389&to=8390>

[88] [CITE@en[Web Applications 1.0 r8390     Update how the interaction with CSS style sheets and CSSOM is defined.]]
( ([TIME[2014-01-14 07:45:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8389&to=8390>

[89] [CITE@en[Re: color: NCSA Mosaic, Netscape, and HTML3]]
( ([[Lou Montulli]] 著, [TIME[1995-07-19 10:26:26 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-style/1995Jul/0080.html>

[2] [CITE@en[Allow pingback/prefetch/stylesheet links in body · whatwg/html@179983e]]
([TIME[2016-03-04 21:32:27 +09:00]] 版)
<https://github.com/whatwg/html/commit/179983e9eb99efe417349a40ebb664bd11668ddd>

[3] [CITE@en[Merge pull request #22 from estark37/link-attr · w3c/webappsec-referrer-policy@a52cc62]]
([TIME[2016-03-16 14:38:50 +09:00]] 版)
<https://github.com/w3c/webappsec-referrer-policy/commit/a52cc624852b77b63cb18ad79d4a2a67255fb9d5>

[FIG(quote)[
[FIGCAPTION[
[12] [CITE@ja[Google ウェブマスター向け公式ブログ: 検索エンジンとの相性を考慮した無限スクロールのベストプラクティス]]
([TIME[2016-03-26 18:49:22 +09:00]] 版)
<http://googlewebmastercentral-ja.blogspot.jp/2014/02/infinite-scroll-search-friendly.html>
]FIGCAPTION]

> 各ページで、<head> 内に rel=next と rel=prev の値を含めるページ指定を行います。<body> 内のページ指定の値は、ウェブマスターが意図しないところで、ユーザー生成コンテンツによっても挿入される場合があるため、Google のインデックス登録では無視されますので、ご注意ください。

]FIG]

[93] [CITE@en[Make <link rel="stylesheet"> work inside shadow trees]]
([[domenic]]著, [TIME[2016-07-20 16:29:57 +09:00]])
<https://github.com/whatwg/html/commit/43c57866c2bbc20dc0deb15a721a28cbaad2140c>

[94] [CITE@en[Use link referrerpolicy attribute when obtaining the resource]]
([[estark37]]著, [TIME[2016-08-11 05:07:50 +09:00]])
<https://github.com/whatwg/html/commit/b209fa011d8d1c315cbca973aba0ae40d335b67c>

[95] [CITE@en[Ignore title="" for <style> and <link> in shadow trees]]
([[domenic]]著, [TIME[2016-08-16 16:45:55 +09:00]])
<https://github.com/whatwg/html/commit/449dee2307c52d59253af61d884ae3a5450a2a02>

[97] [CITE@en[Add <link nonce>]]
([[mikewest]]著, [TIME[2016-09-28 20:17:08 +09:00]])
<https://github.com/whatwg/html/commit/1d4fc66465169312deaa8945fcb359813abc3fe0>

[98] [CITE@en[Upstream SRI's 'integrity' attribute]]
([[mikewest]]著, [TIME[2016-11-03 22:33:16 +09:00]])
<https://github.com/whatwg/html/commit/4c5066c171610e0c8300a58baf4f94816044cedc>

[99] [CITE@en[Editorial: refine link-element section readability]]
([[sideshowbarker]]著, [TIME[2017-04-06 15:22:33 +09:00]])
<https://github.com/whatwg/html/commit/9d0d388288e7fd1201df1ea867af1df27b7cfdff>

[100] [CITE@en[Cut distracting statement about external resources]]
([[sideshowbarker]]著, [TIME[2017-04-12 03:03:45 +09:00]])
<https://github.com/whatwg/html/commit/2cc7329adba04fb2f6927c05183fbb061c73c62c>

[101] [CITE[IMPLEMENTING THE LINK ELEMENT]]
([TIME[2000-10-09 14:58:22 +09:00]])
<http://www.hixie.ch/specs/html/link/001>

[102] ([TIME[2002-06-23 09:39:25 +09:00]])
<http://www.hixie.ch/specs/html/link/002>

[103] [CITE@en[Update <link>'s processing model to work well for preload]]
([[domenic]]著, [TIME[2017-06-03 06:33:20 +09:00]])
<https://github.com/whatwg/html/commit/eb5d1cc61cdfe7d946618cc39a1f7c3e5904a03b>

[107] [CITE@en[Clarify the status of <link> elements support in a shadow tree]]
([[hayatoito]]著, [TIME[2017-09-05 17:31:49 +09:00]])
<https://github.com/w3c/webcomponents/commit/f686895fd6128ce0afa13369f4d9f7c010f68265>

[108] [CITE@en[Should <link> work inside Shadow DOM? · Issue #628 · w3c/webcomponents]]
([TIME[2017-09-06 17:41:49 +09:00]])
<https://github.com/w3c/webcomponents/issues/628>

[109] [CITE@en[Centralize checks for <a>, <area>, <form>, and <link>]]
([[annevk]]著, [TIME[2017-09-22 21:04:25 +09:00]])
<https://github.com/whatwg/html/commit/f3c354add894e1ac01e3732ff976aa9874a77b3f>

[110] [CITE@en[Allow UAs to conditionally block on stylesheet loading]]
([[domfarolino]]著, [TIME[2018-01-12 17:19:01 +09:00]])
<https://github.com/whatwg/html/commit/42dd707cbfc0f5d8f88b04ef270f4fcb121a10ff>

[111] [CITE@en[Align the title attribute with implementations]]
([[annevk]]著, [TIME[2018-01-31 19:14:07 +09:00]])
<https://github.com/whatwg/html/commit/2102913b313078cd8eeac7e81e6a8756cbd3e773>

[112] [CITE@en[Add <link> rel="modulepreload"]]
([[domenic]]著, [TIME[2017-12-15 05:04:40 +09:00]])
<https://github.com/whatwg/html/commit/7c28027b80208aa6b126fa7b086c44877f584178>

[FIG(quote)[
[FIGCAPTION[
[113] [CITE@en[WebSub]]
([TIME[2018-01-23 01:01:39 +09:00]])
<https://w3c.github.io/websub/#discovery>
]FIGCAPTION]

> In the absence of HTTP Link headers, and if the topic is an XML based feed or an HTML page, subscribers MUST check for embedded link elements.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[114] [CITE@en[WebSub]]
([TIME[2018-01-23 01:01:39 +09:00]])
<https://w3c.github.io/websub/#discovery>
]FIGCAPTION]

> If the topic is an XML based feed, publishers SHOULD use embedded link elements as described in Appendix B of Web Linking '''['''RFC5988''']'''. Similarly, for HTML pages, publishers SHOULD use embedded link elements as described in Appendix A of Web Linking '''['''RFC5988''']'''.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[115] [CITE@en[WebSub]]
([TIME[2018-01-23 01:01:39 +09:00]])
<https://w3c.github.io/websub/#discovery>
]FIGCAPTION]

> Since <link> has been limited to being placed in the <head> for many years, some consuming code might only check the <head>. Therefore it is more robust to place the <link> tags only in the HTML <head> rather than in the <body>.

]FIG]

[116] まるで今は [CODE[body]] 内でも認められているみたいな書き方だけど、
[CODE[rel=self]] も [CODE[rel=hub]] も認められてないんだよなー。


[120] [CITE[Style sheets and the Web meta-data architecture]]
([TIME[1997-01-28T15:18:51.000Z]], [TIME[2024-11-03T08:22:21.406Z]])
<https://www.w3.org/Style/NOTE-style-link-970128.html>