[2] [[HTML]] の [CODE(HTMLe)[[[a]]]] 要素・[CODE(HTMLe)[[[link]]]]
要素の [DFN[[CODE(HTMLa)[rel]] 属性]]は、
現在の文書から [CODE(HTMLa)[[[href]]]]
属性で指定された[[アンカー]]への関係を指定します。
:状態:[[WHATWG]] [[勧告案]]、[[IETF]] [[提案標準]]
:[[要素]]:[CODE(HTMLe)@en[[[a]]]]、[CODE(HTMLe)@en[[[area]]]]、
[CODE(XMLe)@en[[[atom:link]]]]
:[[属性名]]:[CODE(HTMLa)@en[[[rel]]]] (「[RUBYB[[[関係]]]@en[relation]]」より)
:[[データ型]]:[[リンク型]]
:[[既定値]]:([[要素]]に依存)
** 仕様書
[REFS[
- [35] [[HTML Living Standard]]
-[26] [[RFC 4287]]
-- ''''''
- [34] '''[CITE@en[RFC 5988 - Web Linking]] ([TIME[2012-03-22 09:19:11 +09:00]] 版) '''
]REFS]
** 意味
[3] [CODE(HTMLe)[a]] 要素の [CODE(HTMLa)[rel]] 属性であっても、
[[始点アンカー]]からではなく現在の文書からの関係と定義されているのですね。
[CODE(HTML)[[CODE(HTMLa)[rel]]=next]] のような関係を考えれば妥当な定義だと思います。
[27] [CODE(XMLe)@en[[[atom:link]]]] [[要素]]の [CODE(XMLa)@en[[[rel]]]]
[[属性]]は[[リンク関係型]]を表します [SRC[[[RFC 4287]] 4.2.7.2.]]。
[32] [CODE(XMLe)@en[[[atom:link]]]] [[要素]]の [CODE(XMLa)@en[[[rel]]]]
[[属性]]は[[リンク]]の[[意味]]を説明するものであって、 [[Atom処理器]]に特定の動作を求めるものではありません
[SRC[[[RFC 4287]] 4.2.7.2.]]。
** 属性値
*** データ型
**** HTML4 の定義
[4] この属性の値は [CODE(HTML)[%[[LinkTypes]]]]
([[間隔]]で分離した[[連結型]]の並び) です。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。
この属性の値は大文字・小文字を区別しません。
(が、小文字で使われることが多いようです。)
**** [CODE(XMLe)@en[[[atom:link]]]] 要素の場合
[30] [CODE(XMLe)@en[[[atom:link]]]] [[要素]]の [CODE(XMLa)@en[[[rel]]]]
[[属性値]]は、 [[RFC 3987]] の [CODE(ABNF)@en[[[isegment-nz-nc]]]] または
[CODE(ABNF)@en[[[IRI]]]] いずれかの[[生成規則]]に[[一致]]する[[文字列]]でなければ[['''なりません''']]
[SRC[[[RFC 4287]] 4.2.7.2.]]。
[31] 値の[[意味]]については[[リンク関係型]]の項をご覧ください。
*** 既定値
**** HTML4 の場合
[5] この属性は省略可能です。
[CODE(HTMLa)[rel]] も [CODE(HTMLa)[[[rev]]]] もない[[連結]]は、
単純に関係する資源を指している程度の意味合いになります。
(詳しくは [[HTML//連結]]を参照してください。)
**** [CODE(XMLe)@en[atom:link]] 要素の場合
[28] この[[属性]]は[[必須]]ではありません。
[29] この[[属性]]が省略された場合、[[リンク関係型]]が [CODE(XML)@en[[[alternate]]]]
であるかのように扱わなければ[['''なりません''']] [SRC[[[RFC 4287]] 4.2.7.2.]]。
** 応用
[8] ([CODE(HTMLe)[[[link]]]] 要素だけでなく [CODE(HTMLe)[a]]
要素であっても) [CODE(HTMLa)[rel]] 属性のついた
[CODE(HTMLe)[[[a]]]] 要素によるリンクの情報も誘導棒などの誘導情報として UA
により特別に扱われることがあります。
[[#comment]]
** 歴史
[1] ''WWW-Talk 1992: OO WWW: Re: indexes as links rather than documents'' :
[[HTML]] における [Q[[CODE(HTMLa)[rel]]]] という属性名の誕生の瞬間。
[9] >>1 以前から (遅くても1992年1月には) [CODE(HTMLe)[a]]
要素には [CODE(HTMLa)[[[type]]]] 属性が定義されていました。
この属性は[[連結型]]を指定するもので、
1993年1月ごろまで残っていましたが、1992年末〜1993年の議論の結果
Tim は [CODE(HTMLa)[rel]] という名前を選んだようです。
もっとも、1992年の [CODE(HTMLa)[type]] も 1993年の [CODE(HTMLa)[rel]]
も、連結型 (関係) を指定するのだという意味と、
登録制にするのが良かろうということが決まっていただけで、
実際に指定できる値はまったく決まっていませんでした。
(経験が少なすぎて決め兼ねるということだったようです。)
** HTML4
[REFS[
-[9] [[HTML 4]]
-- [CODE(HTMLa)[rel]] 属性
-- [CSECTION@en[12.1.2 ther link relationships]]
-- [CSECTION@en[12.3.1 Forward and reverse links]]
]REFS]
** XHTML2
[24] [[XHTML2]] の最初の[[作業原案]]で [CODE(HTMLa)@en[[[href]]]] [[属性]]は[[大域属性]]に昇格しましたが、
[CODE(HTMLa)@en[[[rel]]]] や [CODE(HTMLa)@en[[[rev]]]] は放置されていました。
しかし、2つ目の[[作業原案]]で両者も[[大域属性]]となりました。
[REFS[
- [36] [CITE@en[- XHTML Attribute Collections]] ([TIME[2002-12-12 23:58:38 +09:00]] 版)
]REFS]
[25] [[XHTML2]] の第6次案で [[RDFa]] の一部とされ、[[属性値]]も1つの [[QName]]
に変更されました。
[REFS[
- [37] [CITE@en[- XHTML Metainformation Attributes Module]] ([TIME[2004-07-22 23:25:19 +09:00]] 版)
]REFS]
** HTML5
[REFS[
- [13]
[CITE[Re: rel/rev for