a要素
Updated / Published
a
要素(anchor)はリンク機構の目印となるアンカー(錨)を指定するインライン要素です。href
属性と組合わせて画像ファイル、音楽ファイル、動画ファイル、テキストなどの様々なリソース(情報資源)を有機的に結びつける起点となったり、name
属性やid
属性と組み合わせることで指定箇所の情報を参照するための始点アンカーや終点アンカー(目的地アンカー)を作成します。
文書と他のリソースを結びつけて参照できるようにすることを「リンクを張る」といいます。リンクを張った文字列や画像(イメージ)をクリックすると別のウェブページや別のウェブサイトを表示(ジャンプ)することができます。この機能をハイパーリンク(Hyperlink)と呼び、このような機能をもつ文書をハイパーテキスト(HyperText)と呼びます。
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 要素分類
- インライン要素
- 開始タグ
- 必須
- 終了タグ
- 必須
- 非推奨
- -
- 内容モデル
- インライン要素(
a
要素を除く) - テキスト
- インライン要素(
charset属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- a
- link
- 必須
- -
- 非推奨
- -
- 属性値
- 文字コード("
Shift_JIS
", "EUC-JP
", "ISO-2022-JP
", "UTF-8
" etc)
値にはリンク先のウェブページの文字コード(Character Code)を指定します。これによりUAが事前にリンク先のウェブページの文字コードを正しく解釈するための補助情報となります。
日本語の文字コードには "Shift_JIS
", "EUC-JP
", "ISO-2022-JP
", "UTF-8
" などがあります。文字コードの記述は半角アルファベットの大文字・小文字が区別されません(case-insensitive)。
HTML5においてはcharset
属性は廃止されることになりました。文字コードはHTTPレスポンスヘッダ(UA とウェブサーバがデータを送受信する際に使われている通信手順をHTTPと言い、UAのリクエスト時のメッセージをHTTPリクエストヘッダ、このリクエストに対してウェブサーバが返すメッセージをHTTPレスポンスヘッダと言う)にて設定しておくようにします。
coords属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- a
- area
- 必須
- -
- 非推奨
- -
- 属性値
- 下記説明を参照
クライアントサイド・イメージマップ(クリッカブルマップ)の有効範囲となる領域の座標をカンマ(,
)で区切って指定します。a
要素によるイメージマップに対応しているのは、 FirefoxとOperaのみです。Internet Explorer, Safari, Chrome では無効です。
指定する座標値のポイントは、shape
属性で指定される "rect
", "circle
", "poly
" の3種類の形状により異なり、それぞれ次のようなポイント座標値を coords
属性で指定します。
- rect(矩形)
coords="(左上の)x,(左上の)y,(右下の)x,(右下の)y"
- circle(円形)
coords="(円の中心の)x,(円の中心の)y,(円の半径)r"
- poly(多角形)
coords="(頂点1の)x,(頂点1の)y,(頂点2の)x,(頂点2の)y,..."
なお、クライアントサイド・イメージマップについての詳しい説明は map
要素を参照してください。
HTML5においてはa
要素からクライアントサイド・イメージマップ(クリッカブルマップ)を提供する機能(coords
属性, shape
属性)は廃止されました。代わりにarea
要素を使用します。
href属性
href
属性は様々なリソース(情報資源)を有機的に結びつけるための起点となるリンクを作成します。値はリソースの所在をURIで指定します。
hreflang属性
リンク先のリソースの言語を指定します。値は言語コードで指定します。日本語であれば "ja
"、中国語であれば "zh
"、英語であれば "en
" のように指定します。現在観覧しているウェブページとリンク先のウェブページに設定されているデフォルト言語(html
要素に指定されている lang
属性・xml:lang
属性の値を指す)が異なるために使用している言語コードを明示する必要がある場合に使用します。たとえば、現在観覧しているウェブページの別言語バージョンで記述された代替文書がある場合は次のような形で提供します。
<a rel="alternate" hreflang="en" href="xxx_en">The English version</a>
name属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- 指定要素
- a
- 必須
- -
- 非推奨
- XHTML1.0 非推奨
- XHTML1.1 廃止
- 属性値
- アンカー名
ページ内の指定箇所の情報を参照するための終点(目的地)となる終点アンカー(目的地アンカー)を作成します。アンカー名は半角アルファベットの大文字・小文字を区別する(case-sensitive)ので厳密な指定が必要です。
a
要素の name
属性を使うのは旧来の手法で、代わって id
属性を用いることが推奨されています。なお、XHTML1.0 では id
属性を参照できないUAとの後方互換のためにid
属性とname
属性の両方を同じ値で設定することが認められており、XHTML1.1では後方互換のために残されていたname
属性は完全に廃止されました。
今となってはname
属性がなければ動作しないのはフィーチャーフォンの中でも旧式の携帯電話端末ぐらいであり、PC用サイトであればid
属性の指定のみで十分事足ります。つまり、name
属性は不要です。
HTML5においてもname
属性の代わりにid
属性を使用することが強く推奨されています。
rel属性
href
属性で指定されたリンク先のリソースを現在のページ(始点)から見た関係で示します。値にはリンク先のリソースとの関係を示すためのリンクタイプと呼ばれるキーワードを指定します。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。
alternate
- この文書の代替にあたる文書を示す。
hreflang
属性と併用し、他の言語で翻訳した文書版であることを示す。media
属性と併用し、印刷用など別のメディア用に設計した文書版であることを示す。
appendix
- この文書の付属書にあたる文書を示す。
bookmark
- 文書内の重要なアンカーへのリンク(ブックマーク)を示す。
1つの文書内に複数のブックマークが設定できること。 contents
- この文書の目次にあたる文書を示す。同義語
toc
をサポートするUAもある。 copyright
- 著作権に関する記述のある文書を示す。
glossary
- 指定する文書が用語集であることを示す。
help
- この文書のヘルプにあたる文書を示す。
index
- この文書の索引にあたる文書を示す。
next
- この文書の次の文書であることを示す。
prev
- この文書の前の文書であることを示す。同義語
previous
をサポートするUAもある。 start
- 一連の文書の中で最初の文書を示す。
検索エンジンに対して、最初に参照してもらいたい文書であることを示す。 chapter
- 一連の文書の中で章にあたる文書を示す。
section
- 一連の文書の中で節にあたる文書を示す。
subsection
- 一連の文書の中で項にあたる文書を示す。
複数指定する場合は半角スペースで区切って列記(例:rel="prev help"
)します。
<p>次ページは、
<a href="abbr" rel="next">abbr要素</a>
の解説です。</p>
rev属性
href
属性でリンク先のリソース(終点)から見た現在のページに対する関係を示します。値にはリンク先との関係を示すリンクタイプを指定します。rev
属性にはHTML2.0から定義されてきた制作者を示す特有のリンクタイプとして浸透しているmade
のキーワードがあり、既にHTML4の最終勧告仕様書の時点でこのキーワードは削除されていたのですが、href
属性の値に制作者がもっている E-メールアドレスを指定しておくことでユーザからコンタクトをとれるようにする伝統的な方法として、広く利用されています。
HTML5からはa
要素、およびlink
要素のrev
属性はrel
属性との違いがわかりにくく、誤用されることも多かったために廃止されました。特に伝統的に制作者のメールアドレスを示すのに使われてきたrev="made" href="mailto:hoge@hoge"
は次のように変更することが推奨されています。
<a rel="author" href="mailto:hoge@hoge">hoge@hoge</a>
shape属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- a
- area
- 必須
- -
- 非推奨
- -
- 属性値
defalut
rect
circle
poly
クライアントサイド・イメージマップ(クリッカブルマップ)の有効範囲となる領域の形状を指定します。値には defalut
(領域全体), rect
(矩形), circle
(円形), poly
(多角形)のいずれかのキーワードを指定します。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。指定された形状によって coords
属性で指定する座標値のポイントも変わってきます。a
要素によるイメージマップに対応しているのは、 FirefoxとOperaのみです。Internet Explorer, Safari, Chrome では無効です。
HTML5においてはa
要素からクライアントサイド・イメージマップ(クリッカブルマップ)を提供する機能(coords
属性, shape
属性)は廃止されました。そのため今後のサポートが向上することもありません。代わりにarea
要素を使用します。
target属性
- バージョン
- HTML4.01(T,F)
- XHTML1.0(T,F)
- 指定要素
- 必須
- -
- 非推奨
- 非推奨
- HTML4.01 strict 廃止
- XHTML1.0 strict 廃止
- XHTML1.1 廃止
- 属性値
_blank
_self
_parent
_top
- 任意の名称
リンクを設定した際に、そのリンク先を表示する方法を指定します。値には4つのキーワードと任意のフレーム名(frame
要素に指定された name
属性の値)を指定することができます。
- _blank
- リンク先を名前のない新しいウインドウに表示
- _self
- リンク先を同一(現在の)ウインドウに表示
- _top
- フレーム内からのリンクの場合、フレームを解除し最上位ウインドウ全体に表示
- _parent
- フレーム内からのリンクの場合、フレーム設定文書(多くの場合、フレームを解除しウインドウ全体)に表示
- 任意のフレーム名
- リンク先を指定の名称をもつフレームに表示
指定の名称がない場合は、名前のない新しいウインドウに表示
HTML4.01 Strict, XHTML1.0 Strict, XHTML1.1 では target
属性は廃止されたため指定できませんが、HTML5において、area
要素、およびa
要素のtarget
属性には、新たにiframe
要素で組み込まれたブラウジング・コンテキストを操作する役割が追加されているので、非推奨扱いでもなければ、こ機能のサポートが廃止されることもありません。
type属性
type
属性はリンク先のリソースの MIMEを指定することでUAがリンク先のファイルの種類を正しく解釈できるように働きかけます。