[1] HTML の a
要素・link
要素の
href
属性は、ウェブ資源の位置を指定します。
そして、指定された資源が終点アンカー,
その a
要素が始点アンカーである連結になります。
[46] atom:link
要素の href
属性は、リンクの IRI を表します RFC 4287 4.2.7.1.。
[59] MathMLの大域属性としての href
属性は、
その要素を指定された URL へのハイパーリンクとするために使えます >>58。
atom:link
要素の場合[47] atom:link
要素の href
属性の値は RFC 3987 IRI参照でなければなりません
RFC 4287 4.2.7.1.。
[48] RELAX NG スキーマ (参考) 上のデータ型は
atomUri
となっています RFC 4287 4.2.7.1.。
[60] MathML 要素の href
属性の値は MathML
の定義に依るところの URI
とされています。 >>58
[5] この属性は省略可能です。省略した場合は、
そのアンカー (a
要素)
は始点アンカーではないものとなります。
link
要素の場合は省略すると意味を失ってしまうと思うのですが、
HTML 4 仕様書には何も書かれていません。
atom:link
要素の場合[6] 多くの視覚 UA は、 a
要素や
link
要素に hover
したときに 状態棒や窓の題名棒、あるいは
tool tip などとして href
属性で指定された
URI 参照を表示します。
表現が比較的貧しい媒体では、脚注として出力されることもあります。
[7] ほとんどの実装では、 href
属性が指定された
a
要素を他の要素とは異なってレンダリングします。
たとえば多くの視覚 UA では青字で下線付きで表示します。
詳しくは a
要素のレンダリングの項をご覧下さい。
[74]
HTML
由来で
DTBook の link
要素にもありました。
[43] XHTML2 の最初の作業原案で、ハイパーテキスト属性集成に属し、 実質すべての XHTML2 要素で利用できるものとして規定されるようになりました。
[61] MathML2 までは MathML のすべての要素で xlink:href
属性が使えるとされていましたが、 MathML 3.0 ではその代わりに >>58 null名前空間の
href
属性が導入されました。
[14] Web応用においてリンク先の文書を新しい窓で開きたいとします。
重要: 普通の Webサイトではこのような指定を HTML に記述することは避けるべきです (新しい窓で開くか、 今の窓で開くか、はたまた新しいタブで開くか、 などなどは、利用者の意思で決めることで、 著者が介入するべきではありません)。
次のように href
属性に
javascript:
URI を使うことがよくありますが、
好ましくありません。
<a href="javascript:openWindow ('external.html')">リンク</a>
<!-- 関数 openWindow は他のどこかで定義しておきます。 -->
こうすると、 JavaScript のスクリプト片がリンク先になってしまい、
external.html
がリンク先であるという情報を人間以外が理解することができません。
次の onclick
属性による記述でも同じ効果が得られます。
<a href="external.html" onclick="openWindow (href); return false">リンク</a>
<!-- 関数 openWindow は他のどこかで定義しておきます。 -->
本当は内在事象属性 (onclick
属性) も使わず、
内容とスクリプトは分離しておいた方が維持管理の手間としても美しさとしても更に良くなります。
[8] 属性 hreflang
, charset
,
type
, rel
, rev
は意味的に href
属性の存在に依存しています。
また、 HTML 4 以前には a
要素の
title
, subject
属性も意味的に href
に依存する使われ方がなされたことがあります。
HTML 4 によれば、 hreflang
属性は
href
属性があるときのみ指定できます。
他の属性もそうであるはずですが、仕様書に明記されていません。
[15] 指向性メモ::2006-06-24::Googleがonclickにはhref="javascript:void(0)"も付ける理由 http://ishikawa.arielworks.com/memo/2006/06/24/185137 (名無しさん 2006-06-25 00:40:18 +00:00)
[16]
Problems with letting every element be a link - Anne’s Weblog (2007-03-27 20:37:46 +09:00
版) http://annevankesteren.nl/2007/03/href
(名無しさん 2007-03-28 06:31:20 +00:00)
[17]
html lecturte (2003-10-18 17:55:15 +09:00
版) http://www.padrac.ne.jp/~sugimoto/JIN/html/html.html#2-3
1995年12月に書かれた文章らしい。
hrefはハイパーリファレンスの略です。
(名無しさん)
[18]
RDF-in-XHTML TF -- 2 Apr 2007 (2007-04-03 04:06:37 +09:00
版) http://www.w3.org/2007/04/02-rdfa-minutes.html#item03
(名無しさん 2007-04-07 14:00:39 +00:00)
[20]
RDF-in-XHTML Task Force -- 31 May 2007 (2007-06-01 01:15:47 +09:00
版) http://www.w3.org/2007/05/31-rdfa-minutes.html#item04
Steven: 'clickable' does not necessarily mean the XHTML2 browser would render it in blue with an underline ... don't confuse the ability to dereference an @HREF with the rendering presentation ... only A would give blue underlined presentation
いやはや。 (名無しさん 2007-06-04 13:14:16 +00:00)
[22]
markus’ blog » IE - Having fun with JS and links (2008-01-08 21:18:56 +09:00
版) http://markus.fischer.name/about/archives/2005/10/17/ie-having-fun-with-js-and-links/
(名無しさん)
[23]
Does HTML5 support href on any element like XHTML 2.0? — FAQ - WHATWG Wiki (2008-02-23 13:19:00 +09:00
版) http://wiki.whatwg.org/wiki/FAQ#Does_HTML5_support_href_on_any_element_like_XHTML_2.0.3F
href
擬似属性 (xml-stylesheet
処理指令)[51] xml-stylesheet
処理指令の
href
擬似属性は、参照されるスタイル・シートの番地を表します。
>>52
[53] 属性値は RFC 3987 IRI-reference
文法に一致する値でなければなりません。
>>52
[57] xml-stylesheet 1.0 1e では HTML 4.0 を参照する形で定義されていました。
atom:link
要素 href
属性 (Atom 0.3)[26] Atom 0.3 の Link construct の
href
属性は、
リンクの URI を表します Atom 0.3。
仕様書: The Atom Syndication Format 0.3 (PRE-DRAFT) ( 版) http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html#rfc.section.3.4.3
[27] 属性値は RFC 2396 URI でなければなりません Atom 0.3。
[28] xml:base
属性が atom:url
属性の処理に適用されなけばなりません Atom 0.3。
と href
属性の項に書いてあります。
コピー・アンド・ペーストのミスでしょう。
[29] xml:base
が適用されるということは、
>>27 の「URI」は実は「URI参照」である可能性が高いです。
app:categories
要素 href
属性 (AtomPub)[30] AtomPub の app:categories
要素の
href
属性は、
分類文書の URL を表します。
仕様書: RFC 5023 - The Atom Publishing Protocol ( 版) http://tools.ietf.org/html/rfc5023#section-7.2.1.1
[31] 属性値は分類文書を識別する RFC 3987 IRI参照でなければなりません。 AtomPub
[34] 構文上は素片識別子が認められますが、「分類文書を識別する」という制約から、 実質的には使えないのではないかと思います。
[32] この属性が指定されなかった場合、分類は app:categories
要素の子要素によって表されることになります。
[33] 分類文書を href
属性をたどって取り出す場合、
直接または間接に同じ文書を参照していないか注意が必要です。
[35] この属性を使う場合、 scheme
属性や
fixed
属性は指定してはなりません。
また、要素は空でなければなりません。
AtomPub
app:collection
要素 href
属性[36] AtomPub app:collection
要素の
href
属性は、
集成の IRI を表します AtomPub。
仕様書: RFC 5023 - The Atom Publishing Protocol ( 版) http://tools.ietf.org/html/rfc5023#section-8.3.3.1
[19]
Archived: Guide to the Individualized Education Program (2007-05-22 17:47:31 +09:00
版) http://www.ed.gov/parents/needs/speced/iepguide/index.html
<td width="8" valign="top"><img href="/parents/academic/help/hyc.html?src=rt" src="/images/ed_gl_bullet.gif" alt="list bullet" width="8" height="7" hspace="0" vspace="0" border="0"></td>
(名無しさん 2007-05-22 08:53:30 +00:00)
[21]
Bug 8872 - WebFX ajax list manipulator broken (2007-06-05 09:31:53 +09:00
版) http://bugs.webkit.org/show_bug.cgi?id=8872
(名無しさん 2007-06-05 00:38:36 +00:00)
[40] The SMIL 3.0 Linking Modules ( 版) http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-extended-linking.html#adef-href
[41] 名前空間の付いていないXLinkを - dhrnameの開発日誌 ( 版) http://d.hatena.ne.jp/dhrname/20090212/p1
VMLだけですが、IE7でも、名前空間の付いていない「href」属性が実装されています。
[42] 2009-04-30 - hoshikuzu | star_dust の書斎 ( 版) http://d.hatena.ne.jp/hoshikuzu/20090430#p1
<head> <title>{foo:bar;}body{background:url("javascript:/**/(function/**/_(){alert(document.URL)}).call(this)")} </title> <link href="" rel="stylesheet" type="text/css"> </head>title要素に(いわゆるHTMLエスケープ済みでも良い)style記述を行います。
通常ではurl()中のjavascript擬似スキームで書かれたステートメントは、グローバルオブジェクト配下のオブジェクトに対してプロパティ(ないしメソッド)を利用する権限がありません。このため、javascript:alert(document.URL)の記述は実行エラーとなります。
実行したい複数のステートメント全体を関数スコープ的な記述でくるんでやり、その関数をcall(this)してやることで権限上昇を得ます。なお、ここでthisはグローバルスコープで関数が動くことを念押ししていることになります。
link要素やimg要素など、上で触れられた技巧で予期しないJavaScriptの起動は可能でした。ver1.5.0.9からは不可能になりましたのでことなきを得ています。
[50] IRC logs: freenode / #whatwg / 20100401 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20100401#l-504
[62] Web Applications 1.0 r6734 <base>.href reflects, apparently. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=6733&to=6734
[63] IRC logs: freenode / #whatwg / 20111103 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20111103
[64] [whatwg] checksum attribute in a href tag ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038479.html
[65] XBL 2.0 ( ( 版)) http://dev.w3.org/2006/xbl2/Overview.html#href
[66] RDFa Core 1.1 - Second Edition ( ( 版)) http://www.w3.org/TR/rdfa-core/#A-href
[67] RDFa Core 1.1 - Second Edition ( ( 版)) http://www.w3.org/TR/rdfa-core/#h4_use-of-curies-in-specific-attributes
[68] HTML+RDFa 1.1 ( ( 版)) http://www.w3.org/TR/2013/REC-html-rdfa-20130822/#extensions-to-the-html5-syntax
[69] XML Binding Language (XBL) 2.0 ( ( 版)) http://www.w3.org/TR/2007/CR-xbl-20070316/#href
[2] URLs are parsed and produce records · whatwg/html@30bc255 ( 版) https://github.com/whatwg/html/commit/30bc2557105ad62881ec9670f253febbc9761b44
[3] Integrate with the Referrer Policy spec, part 1 of n ( (domenic著, )) https://github.com/whatwg/html/commit/6a7318072f340ad45229df171245d70d8621c2fe
[9] Feature Request: allow href="" on more elements · Issue #3867 · whatwg/html () https://github.com/whatwg/html/issues/3867
[24] ハイパーリファレンスってなに? 出典書いてないし説明になっていない。 Google検索で上位に出現し、ここを引用している他サイトもあるが、 ここが発信源かは不明。
[25] ちなみにこのサイトは a
も
「htmlでは参照先(リンク、ジャンプするので移動)との基準点・参照元という理解で良いかと。」
と解説していて、訂正するほど間違ってはいないが、
専門用語であるハイパーリンクとアンカーの関係性を理解していればこんな解説にはなっていないはず。
[75] What does "HREF" stand for?, , https://tomayko.com/blog/2008/wtf-is-an-href-anyway
URI
については IRI (>>120) の項を参照してください。