#?SuikaWiki/0.9 * a 要素型 (HTML, XHTML 1) [8] [[HTML]] の [DFN[[CODE(HTMLe)[a]] 要素型]]の要素は、[[アンカー]]を定義します。 仕様書: [[HTML 4]] 12.2 The A element [2] :[[開始タグ]]:必須 :[[終了タグ]]:必須 :[[内容模型]]:[CODE(SGML)[(%[[inline]];)* −([CODE(HTMLe)[a]])]] (歴史的変遷 ) :出現できる文脈:[CODE(SGML)[%inline]] な文脈 (歴史的変遷 ) :[[属性]]: ,属性名 ,属性値型 ,既定値 ,意味 ,典拠 ,[CODE(HTMLa)[[[accesskey]]]] ,[CODE(SGML)[%[[Character]]]] , , ,[HTML 4] ,[CODE(HTMLa)[[[charset]]]] ,[CODE(SGML)[%[[Charset]]]] , , ,[HTML 4] ,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]] ,[CODE(HTMLa)[[[coords]]]] ,[CODE(SGML)[%[[Coords]]]] , , ,[HTML 4] ,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]] ,[CODE(HTMLa)[[[href]]]] ,[CODE(SGML)[%[[URI]]]] , ,終点 ,[HTML 4] ,[CODE(HTMLa)[[[hreflang]]]] ,[CODE(SGML)[%[[LanguageCode]]]] , , ,[HTML 4] ,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[indexstring]]]] , ,(なし) ,索引項目群 ,[[NC4]] ,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n ,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1] ,[CODE(HTMLa)[[[name]]]] , , ,終点アンカー名 ,[HTML 4] ,[CODE(HTMLa)[[[onblur]]]] , , , ,[HTML 4] ,[CODE(HTMLa)[[[onclick]]]] , , , ,[HTML4] %[[events]] ,[CODE(HTMLa)[[[ondblclick]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onfocus]]]] , , , ,[HTML 4] ,[CODE(HTMLa)[[[onkeydown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeypress]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeyup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmousedown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmousemove]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[rel]]]] ,[CODE(SGML)[%[[LinkTypes]]]] , ,関係 (順) ,[HTML 4] ,[CODE(HTMLa)[[[rev]]]] ,[CODE(SGML)[%[[LinkTypes]]]] , ,関係 (逆) ,[HTML 4] ,[CODE(HTMLa)[[[shape]]]] ,[CODE(SGML)[%[[Shape]]]] ,[CODE(HTML)[[[rect]]]] , ,[HTML 4] ,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[tabindex]]]] ,[CODE(SGML)[[[NUMBER]]]] , , ,[HTML 4] ,[CODE(HTMLa)[[[target]]]] , , , ,[HTML 4] 非推奨 ,[CODE(HTMLa)[[[title]]]] , , ,注釈的題・連結の性質 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[tocstring]]]] , ,(なし) ,目次での標示 ,NC4 ,[CODE(HTMLa)[[[type]]]] ,[CODE(SGML)[%[[ContentType]]]] , , ,[HTML 4] [11] [CODE(HTMLe)[a]] 要素はアンカーを定義します。 [CODE(HTMLa)[name]] 属性や [CODE(HTMLa)[id]] 属性を使うと、 終点アンカーにすることができます。 [CODE(HTMLa)[href]] 属性を使うと、始点アンカーにすることができます。 この3つの属性は、1つも使わなくても構いませんし、3つとも使っても構いません。 [[#comment]] ** 内容模型 [1] [CODE(HTML)[a]] 要素の子孫要素に [CODE(HTML)[a]] 要素は存在できません。 [2] つまり、[CODE(HTML)[a]] 要素の入れ子は禁止されています。なのにした場合の挙動は未定義ですが、可能性としては - [3] 両方とも「意図したように」扱う。内側の [CODE(HTML)[a]] 要素の部分はリンク先が外側と違う、みたいな。 - [4] 外側の [CODE(HTML)[a]] 要素を無視する。 - [5] 内側の [CODE(HTML)[a]] 要素を無視する。 - [6] 外側の [CODE(HTML)[a]] 要素を、内側の [CODE(HTML)[a]] 要素の[[開始タグ]]直前で閉じる。 辺りがあるでしょう。 [7] [[WinIE 6.0]] の動作は >>4 です。 [20] [CODE(HTMLe)[a]] を入れ子にすることはできません。 仕様書: - [[HTML 4]] 12.2.2 Nested links are illegal - [[XHTML 1.0]] ([[名無しさん]]) [[#comment]] ** レンダリング [14] HTML 4 仕様書の触れるレンダリング例: - 始点アンカー -- 下線を引く -- 色反転させる -- 既読かどうかでレンダリング方法を変える -- 活性化 (マウスで[[かちっ]], 鍵盤や音声で指示など) すると終点資源を取出す (設定によってはそれを表示する) - 終点アンカー -- 特別にレンダリング方法を変えることはしないのが普通 [[#comment]] ** 不思議解釈 [9] 今更不思議マーク付けの説明なんて読んでも驚きはしないと 思っていたのですが、 [SAMP(HTML)[]] で[Q[閉じタグ]] [SAMP[]] は無いのが普通とかいうのを読んで驚いてしまいました:-) [[#comment]] ** 実装 [17] [CODE(HTMLa)[a]] 要素は (意味的に適切かという問題はあるにせよ、 構文的に) 空にもなり得るので、 UA は空の終点アンカーを探すこともできるべきですが、 そうでない UA もあると HTML 4 仕様書は言っています。 UA によってはうまく機能しない例 [PRE(HTML)[ ...some HTML... Link to empty anchor ]PRE] (HTML 4 仕様書より、改) [[#comment]] ** 例 [12] 単純な始点アンカーの例 [PRE(HTML)[ For more information about W3C, please consult the W3C Web site. ]PRE] (HTML 4 仕様書より) レンダリング例: [PRE[ For more information about W3C, please consult the W3C Web site. ~~~~~~~~~~~~ ]PRE] [15] [PRE(HTML)[ ...text before the link... For more information, please consult anchor one. ...text after the link... ]PRE] (HTML 4 仕様書より、改) 同じ階層の [SAMP(URI)[one.html]] (>>13) の終点アンカー [SAMP[ANCHOR-ONE]] への連結の例。 [13] 単純な終点アンカーの例 [PRE(HTML)[ ...text before the anchor... This is the location of anchor one. ...text after the anchor... ]PRE] (HTML 4 仕様書より、改) [16] 始点アンカーかつ終点アンカーな例 [PRE(HTML)[ I just returned from vacation! Here's a photo of my family at the lake.. ]PRE] (HTML 4 仕様書より、改) [18] 目次の例 [PRE(HTML)[

Table of Contents

Introduction
Some background
On a more personal note
...the rest of the table of contents... ...the document body...

Introduction

...section 1...

Some background

...section 2...

On a more personal note

...section 2.1... ]PRE] [19] >>18 を [CODE(HTMLa)[id]] に書き換えた例 [PRE(HTML)[

Table of Contents

Introduction
Some background
On a more personal note
...the rest of the table of contents... ...the document body...

Introduction

...section 1...

Some background

...section 2...

On a more personal note

...section 2.1... ]PRE] (HTML 4 仕様書より) [[#comment]] ** メモ [[#comment]] * メモ