制作者(webmaster)
野嵜健秀(Takehide Nozaki)
公開
2002-04-12
改訂
2007-02-02

a要素

ハイパーテキストの要(の一つ)

文書のある部分が他の文書との間を繋ぐアンカーとなるべき部分である事を示すのがa要素です。

他のリソースから参照されるための記述も可能(リンクの終着点としても使用可能)でしたが、HTML 4.01以降ではリンクの出発点として特化されるべきものとなりました。


他のリソースを参照するためのURL/URIを記述し、アンカーを作成して、閲覧者が他のリソースを参照できる様にする要素です。HTML文書をハイパーテキストたらしめる重要な要素です。

「文書のマークアップ」を重視する立場から見ると、a要素の地位は相対的に低いものとなります。しかしHTMLのハイパーテキストとしての側面を重視するならば、a要素はHTMLの中でも極めて重要な要素とする事ができます。

属性解説

属性には、name:リンク元 / href:リンク先があります。

汎用属性のclass、id、title、style、lang、dir(、xml:lang)が使用可能です。

name属性
name属性附きのa要素は、リンクの終着点です。あるいは、文書の一部に名前を附け、他のリソースからそこにリンクを張られる事ができる様にします。
HTML 4.01以降、a要素はインライン要素として定義されます。name属性附きのa要素でブロック要素を包む様にマークアップする事はできません。
a要素のname属性は、HTMLが考察され反省される以前に――つまりHTMLの規格化以前に――成立したレガシーな属性です。現在、過去のブラウザとの互換性を維持するために残されてゐる存在に過ぎません。ある要素にid属性を指定するのが文書中の特定の位置を示す事である、と再定義されたため、name属性は非推奨です。アンカーの終着点の定義が拡大されたため、name属性附きのa要素の存在意義は(理念の上では)なくなりました。
href属性
href属性附きのa要素は、リンクの出発点になります。
href属性の値はURIです。href属性の属性値に記述された実体参照を、ユーザエージェントは解釈します。そのため、制作者はこの属性値に記述するURIの中に、&の様な記述が必要である場合、&と書いておかなければなりません。CGIに渡すパラメータ区切りに&が使用されることがあります。多くのブラウザは、その辺りのエラーを訂正してくれますが、ブラウザのエラー訂正機能に依存して手を抜くのはよくないことです。
ブラウザは、href属性附きのa要素をホットスポットとして表現し、クリックなどの手段でポイントされると、属性値のURIのリソースをロードしようと試みます。
href属性の値は、あくまでリンク先の場所を指定し、閲覧者に参照の可能性を示すだけのものです。href属性附きのa要素があるからと言って、リンク先の文書とリンク元のその文書とが相互的に結びつけられ、物理的に結合されるわけではありません。リンクされた文書はいろいろな事情で削除されることがあります。だから、デッドリンクが発生します。

既存のa要素を別のa要素で包む様にマークアップしてはいけません。

img要素をa要素の中身にできます。多くのブラウザがimgのborderを見せて、その地点がホットスポットであることを表現します。が、その様にしなければならない必然性は全然ありません。

利用しやすいアンカーに関する考察

わかりにくいアンカーは作らないこと

この手の「やってはいけない」事をやることで「隠しコンテンツ」「裏サイト」を作れる、といった迷信が存在するみたいですが、検索エンジンのロボット相手には無意味ですし、Internet Explorerユーザにtabキー連打をされればばれますし、ソースを覗かれれば確実にリンクの存在は自明です。そもそも、その手の「あまり読まれたくない」といった意図の露骨に示されたコンテンツは、好ましいものではありません。

「アンカーもどき」のスタイルも避けるべきこと

アンカー/ホットスポットである文字列を、多くの視覚系ユーザエージェントは下線を附けて示します。一般的なブラウザを使用するユーザは、下線の附けられた文字列をアンカーのホットスポットだと認識しがちです。

「アンカーのホットスポットは下線附きの文字列で示さなければならない」なる決りがある訳ではありませんが、アンカーではない文字列に下線を附すのは、スキルの高くないユーザを混乱させる原因となりがちです。その種のデザインは、避けた方が無難です。

もしかすると、閲覧者から「ややこしいデザインはやめてくれ」と、クレームが来るかも知れません。

標準から外れたアンカーのスタイルは支持されない可能性が高い

ヤコブ・ニールセン氏が、アンカーの色をNetscape NavigatorやInternet Explorerのデフォルトの色とは異なる様に指定するウェブデザインを間違いと評したことがあります。

一般的なブラウザのデフォルトスタイルが美しくないので、制作者は綺麗なスタイルを指定したくなるものです。しかし、制作者独自の美的センスを必ずしも全ての閲覧者が理解するわけではありません。インターネット初心者は、恰好良いデザインに惹かれる一方、標準的ではないデザインに混乱するものです。その種の初心者を混乱させない様に、閲覧者は工夫をすべきです。

もちろん、その種の工夫をしないのも、選擇肢の一つですし、見識の一つです。けれども、閲覧者にとってそれが不利益となる場合もある事、不利益を被った閲覧者はそのサイトを支持しなくなる事も、制作者は認識しておく必要があります。

a要素をしばしば意味するスタイル「アンダーライン」とu要素

HTML 4.01以降、u要素(アンダーラインを指示するプレゼンテーションのための要素)は「非推奨」と定義されました。しかし、b要素i要素は、依然、HTML 4.01 Strictに存在します。

一般に、プレゼンテーション目的の要素が單純に排除された、との理由でu要素が「非推奨」である事は納得されるものなのですが、どうもそれは怪しいみたいです。

以下は私見ですが――

以上は推測であり、何らかの文献に拠った記述ではありません。推測が誤りである可能性もあります。