

タグ / 開始タグ : 必須、終了タグ : 必須
非推奨 / -
DTD / Strict DTD , Transitional DTD , Frameset DTD
省略不可属性 / nameまたはhref
関連要素 /
基本要素 / インライン要素
a要素は、1つのリンク (アンカー) を定義します。アンカーとは「錨 (いかり) 」のことで、HTML文書内の特定の場所から別のWebリソース (HTML文書、画像、ビデオクリップ、ファイルなど) を繋ぎとめる役割を持っています。このa要素ではリンクの始点 (リンク元) と終点 (リンク先) を定義することが出来ます。
例えば、以下のようにリンクを定義した場合、
リンクの始点 (リンク元) は「Taglandのサイト」という文字列になり、リンクの終点 (リンク先) はhref属性で指定している「http://tagland.net」となります。このリンクは、Taglandのホームページを指していて、ユーザがこのリンクをアクティブにすると、ユーザエージェントはWebリソース (この場合はHTML文書) を取得して表示させます。
リンクを定義すると、ユーザエージェントはリンクの箇所に下線を引いたり、リンクの箇所の文字色を変えるなどして目立つように装飾しますが、どのように装飾されるかはユーザエージェントに依存します。一般的には「未訪問のリンク先」「既訪問のリンク先」「リンクの箇所をポイントした場合」によって、それぞれ別の装飾を指定します。また、リンク箇所をどのように装飾するかは著者が指定する (body要素) ことも出来ますし、ユーザが指定することも出来るようになっています。
上記の例を表示すると以下のようになります。
註) このサンプルは、著者 (私) がCSSを使ってリンクの箇所を装飾していますので、デフォルトの装飾とは異なっています。
リンクの終点 (リンク先) がHTML文書であるとき、そのHTML文書内の特定の場所を指定することができます。そのためには、
必要があります。
例えば、ページの上部に目次を設置し、詳細を記述している箇所にアンカーの場所を定義しておいて (a name="syousai1") 、目次の各見出しにリンクを張ります (a href="#syousai1") 。これによって、読みたい詳細へ下部にスクロールさせることなく一気に移動することが出来るのでユーザが探している情報のある場所へ容易に移動できるようになります。

a要素では、name属性を使って特定の場所 (アンカーの場所) に名前をつけることが出来ます。
この場合、アンカー名 (フラグメント識別子) は「head」になり、「ページのトップ」という文字列を囲ったアンカーを定義しています。上記の例を表示させると以下のようになります。
このようにアンカーの場所に名前をつけているだけのときには、リンクの始点と終点を定義しているときとは異なって基本的に文字列の装飾はありません (著者がCSSを使ってa要素に装飾を指定すればその装飾が有効になりますが…) 。
アンカーの場所に名前をつける方法には、name属性の他にid属性を使う方法もあります。id属性は、ほとんどの要素に指定することが出来、アンカー名をつける役割以外にも、スタイルシート選択子、プログラム処理の識別子などの役割を果たします。
上記の例は、見出し2 (h2要素) に「exp01」という名前をつけています。id属性にはCSSのセレクタ (スタイルシート選択子) の役割もありますので、この「exp01」にはCSS内で装飾の指定 (アイコンの表示など) をしています。上記の例を表示させると以下のようになります。
id属性はHTML4から定義されたもので、それ以前はname属性を使って名前をつけていました。古いユーザエージェントの中にはid属性によるアンカーをサポートしていないものがありますので、互換性を考えてname属性を使う方がよい場合もありますが、XHTML1.0ではname属性は廃止予定となっています。より広くサポートするには、name属性とid属性の両方を指定しておくとよいでしょう。
さて、アンカーの場所が定義出来ましたので、このアンカーの場所に対してリンクを張ることが出来るようになります (リンク先として指定できます) 。
同一文書内のアンカーの場所にリンクを張るときには「#」記号に続けてアンカー名 (フラグメント識別子) を指定します (下図(1)の部分) 。
例) <a href="#syousai1">1. 他のWebリソースへのリンク</a>

他の文書内にあるアンカーの場所にリンクを張るときにはファイル名に「#」記号とアンカー名 (フラグメント識別子) を続けて指定します (上図(2)の部分) 。このとき、相対URIで指定をするのか、絶対URIで指定をするのかによってファイル名の指定が変わります。上図の例を元に示すと、
となります。この「a.html」という文書は、「x.html」と同じディレクトリ内にあるため、相対URIの指定は「a.html#syousai1」となりますが、一階層上のディレクトリ内に「a.html」がある場合には、「../a.html#syousai1」となります。
アンカー名はアンカーとして定義されている場合のname属性及びid属性の値です。この値のつけ方には規則があります。
それでは、この規則を細かく見ていきましょう。
id属性で使える文字列は、アルファベットで始まらなければいけないので、上記サンプルの1は不正です。また、スラッシュ (/) は指定できない文字なので2も不正です。name属性の方にはこのような規則がないので、こちらのほうが命名の自由度が高い上、特殊文字 (文字参照) を利用することができます。
この例は、アルファベットの大文字・小文字以外に区別がないので、一意性の点で不正です。
この例は、1,2ともに、2箇所に同じ名前をつけているので一意性の点で不正です。
この例は、アンカー名とフラグメント識別子が、大文字・小文字まで正確に一致していないので不正です。
a要素で指定しているリンク及びアンカーは、入れ子にしてはいけません。すなわち、a要素は他のa要素を内容に含んではいけないことになります。
また、以下のような例も不正な指定になります。
この場合は、h1要素がインライン要素ではないため、a要素の内容に指定することはできません。この場合は、h1要素とa要素を入れ替えて指定します。
charset = %Charset; (CI)![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、当該リンクが指し示すリソースの文字符号化方法を指定します。一般的に日本のWebで使われる文字符号化方法には、SHIFT_JIS 、EUC-JP 、UTF-8などがあります。文字符号化方法の名称は、大文字小文字の別を問いません。従って例えば「SHIFT_JIS」も「Shift_JIS」も「shift_jis」も等価になります。 | |
href = %URI; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、WebリソースのURIを指定します。これによって当該要素(始点側アンカー)と、この属性が定める終点側アンカーとの間のリンクが定まります。 | |
hreflang = %LanguageCode; (CI)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、href属性が指し示すリンク先リソースの基本言語を指定します。この属性は、href属性が指定されている場合にのみ指定可能です。 | |
name = CDATA (CS)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性は、他のリンクからの終点となり得るように当該アンカーに名前をつけます。この名前の有効範囲は当該文書内に限られ、文書内で固有のアンカー名でなければいけません。また、当該属性とid属性は同じ名前空間を共有しますので重複した名前は使えません。このname属性はid属性と違い、特殊文字(文字参照)を使うことが出来ます。 | |
rel = %LinkTypes; (CI)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
この属性には、当該文書からhref属性が指定するアンカーに向けての関係性を空白区切りで列挙したリンク形式のリストで指定します。
|
|
rev = %LinkTypes; (CI)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
この属性には、当該文書からhref属性が指定するアンカーに向けての関係性を空白区切りで列挙したリンク形式のリストで指定します。
|
|
type = %ContentType; (CI)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
この属性には、リンク先アドレスで得られるコンテンツのMIMEタイプを指定します。サポートしていないMIMEタイプのコンテンツの場合には代替メカニズムを用いることを選択できます。現在登録されているMIMEタイプの一覧は、[MIMETYPES ]を参照してください。 |
|
accesskey = %Character; (CN)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、当該要素のショートカット・キーを指定します。ショートカット・キーには、特殊文字(文字参照)を含む任意の1文字を指定します。ショートカット・キーに設定されているキーを押すことで、その要素はフォーカスを受け取ります。ショートカット・キーの使い方はユーザエージェントに依存します。Windowsの場合には、「Altキー」とショートカット・キーを一緒に押し、MacOSの場合には、「Controlキー」とショートカット・キーを一緒に押して使います。 | |
coords = %Coords; (CN)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
この属性には、スクリーン上の位置と形状をコンマで区切って指定します。値の数と順序は、定義された形状が何であるかに依存します。座標はオブジェクトの左上隅からの相対値とし、すべての値はピクセル値または水平・垂直方向で利用可能な空間に対するパーセンテージで指定します。
|
|
language = sLanguage![]() |
初期値 : no default |
この属性には、当該要素内容のスクリプト言語を指定します。
|
|
shape = %Shape; (CI)![]() ![]() ![]() ![]() ![]() |
初期値 : rect |
この属性には、領域の形状を指定します。
|
|
tabindex = NUMBER (CN)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED (IEの初期値は0) |
| この属性には、当該文書中でのタブ移動順位を指定します。この値は0から32767までの数で指定します。タブ移動順序とは、キーボード操作でユーザが読み進む際に要素がフォーカスを受け取る順番を定義するものです。tabindex属性をサポートする要素のうち、正の値を持つ要素を優先し、移動の順序は最も小さいtabindex値の要素から最も大きい値のものに向かいます。この値は、連続している必要はなく、また特定の値から始まる必要もありません。同一のtabindexを持つ要素がある場合には、文書の文字列中に出現する順に移動します。選択不能指定がある要素はタブ移動の対象とはなりません。タブ移動や要素のアクティブ化に使われるキー入力は、ユーザエージェントの設定に依存します。 | |
target = %FrameTarget; (CI)![]() ![]() ![]() ![]() |
初期値 : #IMPLIED (IEの初期値は_self) |
この属性には、文書を開かせるフレームの名称を指定します。frame要素やiframe要素のname属性によってつけた名前を指定することによって、当該要素で定義するリンクの「目標」とすることができます。
|
|
class = CDATA (CS)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、1つまたは複数のクラス名を指定します。id属性とは異なり、同一の文書中で複数の要素が同じクラス名を共用することが出来ます。また、1つの属性に対して複数のクラス名を指定することも出来ます。その場合には空白文字でクラス名を区切ります。この属性は、主にスタイル情報を割り当てるときのスタイルシート選択子として使用します。 | |
dir = (ltr | rtl) (CI)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED (IEの初期値はltr) |
この属性には、当該要素内容及び属性値におけるテキストや表の基本となる方向を指定します。英語や日本語は左→右方向に読みますが、ヘブライ語などは右→左に読むため「rtl」を指定します。
|
|
id = ID (CS)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、要素に割り当てる名前(id)を指定します。この名前は文書中で一意でなければいけません。この属性は、スタイルシートの選択子、ハイパーテキストリンクの目標アンカー、スクリプトから特定要素を参照するための手段、宣言されたobject要素の名称、ユーザエージェントによる処理一般(例えば、HTMLページからデータベースへデータを移植する際にフィールド名を識別する、HTML文書を他のフォーマットに変換するなど)に用いられます。 | |
lang = %LanguageCode; (CI)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、当該要素の属性値及び内容テキストの基本となる言語コードを指定します。デフォルト値は「不明」です。この属性で指定する言語情報は、ユーザエージェントが画面表示を制御する様々な局面で利用します。例えば、検索エンジンの補助、音声合成装置の補助、スペルチェッカや文法チェッカの補助などがあります。言語コードには、"ja":日本語、"en":英語、"en-US":アメリカ英語などがあります。 | |
style = %StyleSheet; (CN)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、当該要素のスタイル情報を指定します。 | |
title = %Text; (CS)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| この属性には、当該要素に関する助言的情報を指定します。文書全体に関する情報を提供し1文書に1度しか出現し得ない“title要素”とは異なり、title属性は幾つの要素に現れてもいいです。title属性の値はユーザエージェントに依存します。例えば、視覚系ブラウザはタイトルを「ツールチップ」(ポインティングデバイスがオブジェクトの上にある際に現れる短いメッセージ)として表示しますし、音声ユーザエージェントは同様の文脈でタイトル情報を読み上げます。リンクにtitle属性を設定すると、視覚系か非視覚系かを問わずユーザエージェントはユーザに対してリンク先資源の性質を知らせます。 | |
atomicselection = bAtomicSelection![]() |
初期値 : False |
この属性には、要素とその内容が全体の分割できない単位として選択されなければならないかどうかを指定します。
|
|
contenteditable = sCanEdit![]() |
初期値 : inherit |
この属性には、ユーザがオブジェクトの内容を編集できるかどうかを指定します。
|
|
datafld = sField![]() |
初期値 : no default |
この属性は、データバインド機能のための属性です。この属性には、エレメントとバインドされるデータソースオブジェクトからのデータの特定カラムを指定します。データバインド機能の詳細は「MSDNライブラリ 」を参照してください。 |
|
datasrc = sID![]() |
初期値 : no default |
この属性は、データバインド機能のための属性です。この属性には、コンシューマとバインドされるデータソースオブジェクトの識別子を指定する。データバインド機能の詳細は「MSDNライブラリ 」を参照してください。 |
|
hidefocus = bHidden![]() |
初期値 : False |
この属性には、フォーカスの表示・非表示を指定します。通常は、オブジェクトにフォーカスが当たると点線の枠線が表示されますが、それを表示するか・しないかの設定をします。
|
|
unselectable = bUnselectable![]() |
初期値 : |
この属性には、要素の選択の可否を指定します。
|
|
urn = sURN![]() |
初期値 : no default |
| この属性には、目標ドキュメントのために、Uniform Resource Name(URN)を指定します。 | |
onblur = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onblurイベントは、ポインティングデバイスかタブ移動によって要素がフォーカスを失った際に発生します。この属性はonfocus属性と同じ要素で使えます。 | |
onclick = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onclickイベントは、ポインティングデバイスのボタンが要素の上でクリックされた時点で発生します。 | |
ondblclick = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| ondblclickイベントは、ポインティングデバイスのボタンが要素の上でダブルクリックされた時点で発生します。 | |
onfocus = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onfocusイベントは、ポインティングデバイスかタブ移動によって要素がフォーカスを受けた際に発生します。 | |
onkeydown = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onkeydownイベントは、要素上で何かあるキーが押し下げられる際に発生します。 | |
onkeypress = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onkeypressイベントは、要素上で何かあるキーが押されて放された際に発生します。 | |
onkeyup = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onkeyupイベントは、要素上で何かあるキーが解放される際に発生します。 | |
onmousedown = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onmousedownイベントは、ポインティングデバイスのボタンが要素の上で押し下げられる際に発生します。 | |
onmousemove = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onmousemoveイベントは、ポインティングデバイスが要素の上を移動する際に発生します。 | |
onmouseout = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onmouseoutイベントは、ポインティングデバイスが要素の上から離れていく際に発生します。 | |
onmouseover = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onmouseoverイベントは、ポインティングデバイスが要素の上に移動してきた際に発生します。 | |
onmouseup = %Script; (CT)![]() ![]() ![]() ![]() ![]() |
初期値 : #IMPLIED |
| onmouseupイベントは、ポインティングデバイスのボタンが要素の上で放される際に発生します。 | |