* link 要素 (HTML, XHTML 1)
[6] [CODE(HTMLe)[link]] 要素は、当該 [[HTML]]
文書そのものを[[始点アンカー]]とする[[ハイパーリンク]]を記述するための[[要素]]です。
[20]
仕様書:
- [[HTML 2.0]]: [[RFC 1866]] 5.2.4. Link: LINK
- [[HTML 4]]
-- ''Links in HTML documents''
--- 12.3 Document relationships: the LINK element
[21]
:[[開始タグ]]:必須
:[[終了タグ]] (HTML 2, HTML 4):禁止
:終了タグ (XHTML 1):必須
:[[内容模型]]:[[強制空要素]]
:出現できる文脈:[CODE(HTMLe)[[[head]]]] 要素内、任意個
:[[属性]]:
,属性名 ,属性値 ,既定値 ,説明 ,出典
,[CODE(HTMLa)[[[charset]]]] ,[CODE(SGML)[%[[Charset]]]] ,(なし) ,リンク先 charset のヒント ,[HTML 4]
,[CODE(HTMLa)[[[class]]]] , ,(なし) ,[[級]] ,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(HTMLa)[[[id]]]] ,[CODE(SGML)[[[ID]]]] ,(なし) ,一意識別子 ,[HTML 4] [CODE(SGML)[%coreattrs]]
,[CODE(HTMLa)[[[dir]]]] , ,(継承) ,[[書字方向]] ,[HTML 4] [CODE(SGML)[%[[i18n]]]]
,[CODE(HTMLa)[[[href]]]] ,[CODE(SGML)[%[[URI]]]] ,(なし) ,終点アンカー URI 参照 ,[HTML 4]
,[CODE(HTMLa)[[[hreflang]]]] ,[CODE(SGML)[%[[LanguageCode]]]] ,(なし) ,リンク先言語のヒント ,[HTML 4]
,[CODE(HTMLa)[[[lang]]]] ,[CODE(SGML)[%LanguageCode]] ,(継承) ,自然言語 ,[HTML 4] [CODE(SGML)[%i18n]]
,[CODE(HTMLa)[[[xml]]:lang]] ,[CODE(SGML)[%LanguageCode]] ,(継承) ,自然言語 ,[XHTML 1]
,[CODE(HTMLa)[[[media]]]] ,[CODE(SGML)[%[[MediaDesc]]]] , , ,[HTML 4]
,[CODE(HTMLa)[[[onclick]]]] ,[CODE(SGML)[%[[Script]]]] ,(なし) , ,[HTML 4] [CODE(SGML)[%[[events]]]]
,[CODE(HTMLa)[[[ondblclick]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onkeydown]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onkeypress]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onkeyup]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onmousedown]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onmousemove]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onmouseover]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onmouseup]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[onmouseout]]]] ,[CODE(SGML)[%Script]] ,(なし) , ,[HTML 4] [CODE(SGML)[%events]]
,[CODE(HTMLa)[[[rel]]]] ,[CODE(SGML)[%[[LinkTypes]]]] , ,関係(順) ,[HTML 4]
,[CODE(HTMLa)[[[rev]]]] ,[CODE(SGML)[%LinkTypes]] , ,関係(逆) ,[HTML 4]
,[CODE(HTMLa)[[[style]]]] ,[CODE(SGML)[%[[StyleSheet]]]] ,(なし) ,様式 ,[HTML 4] [CODE(SGML)[%coreattrs]]
,[CODE(HTMLa)[[[target]]]] ,[CODE(SGML)[%[[FrameTarget]]]] , , ,[HTML 4] 非推奨
,[CODE(HTMLa)[[[title]]]] ,[CODE(SGML)[%[[Text]]]] ,(なし) , ,[HTML 4] [CODE(SGML)[%coreattrs]]
,[CODE(HTMLa)[[[type]]]] ,[CODE(SGML)[%[[ContentType]]]] ,(なし) ,リンク先媒体型のヒント ,[HTML 4]
[1] [[HTML 4]] では必須属性なしなんですけど、本当にそれでいいのでしょうか?
多分 [CODE(HTMLa)[[[href]]]] 属性は必須でしょう。
[4] [CODE(HTMLa)[[[lang]]]] 属性も [CODE(HTMLa)[[[dir]]]] 属性も対象は
[CODE(HTMLa)[[[title]]]] 属性だけのようです。
[5] こんな要素にまで [CODE(HTMLa)[onmouse[VAR[*]]]] /
[CODE(HTMLa)[onkey[VAR[*]]]] 属性があるなんて、徹底してますね。
[30]
普通[[著者]]、関係する[[索引]]・[[用語集]]、 古い版や新しい版、
文書階層、[[スタイル・シート]]など関連付ける資源、 その他を示すために使います。
[SRC[RFC 1866 5.2.4]]
[[#comment]]
** 応用
[22] レンダリング例:
- リンクの drop‐down メニューがついてる工具棒 [SRC[HTML 4]]
- 文書群を印刷するときの基本材料 [SRC[HTML 4]]
- 常時表示メニューや文脈メニューの一部として
- 文書本文領域の最初や最後の部分として
[[#comment]]
*** 検索円陣
[24] [[検索円陣]]に対しては、特に次のようなものへの [CODE(HTMLe)[link]]
が有用です。 [SRC[HTML 4]]
- 文書の他の言語で書かれた版
- 文書の他の媒体向け (例: 印刷用) に書かれた版
- 文書群の開始頁
[[#comment]]
** 実装
[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'' :
[[Mozilla]] での [CODE(HTMLe)[link]] 要素の実装について。
[15] [[Excel]] (少なくても Excel 10) は、
[SAMP(HTML)[]] とか
[SAMP(HTML)[]] とかを一つの文書内に一杯出力します。
[CODE(HTMLa)[id]] と [CODE(HTMLa)[rel]] をまちがえているとしかおもえません(w
[[#comment]]
** 例
[23]
[PRE(HTML)[
Chapter 2
...the rest of the document...
]PRE]
[WEAK[(HTML 4 仕様書より)]]
[25] 色々な言語の版へのリンクの例
[PRE(HTML)[
The manual in English
]PRE]
[WEAK[(HTML 4 仕様書より、改)]]
[26] 印刷版へのリンクの例
[PRE(HTML)[
Reference manual
]PRE]
[WEAK[(HTML 4 仕様書より、改)]]
[27] 文書群の最初の文書へのリンクの例
[PRE(HTML)[
Reference manual -- Page 5
]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
の注には、 [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''
(ドイツ語):
[CODE(HTMLa)[link]] 要素についてのありとあらゆる情報のリンク集。
(ドイツ語が読めなくてもリンク集なので大丈夫です。)
[31]
[CITE[linkのススメ - 駄的HTML改善計画]]
([[名無しさん]])
[[#comment]]
* メモ
[18] [WEAK[2003-08-30 23:52:46 +00:00]] ''[[名無しさん]]'':
なぜかこの WikiPage が で20位、
及び で1位ですよ。なんでやねん。