アンカータグ

2016.05.18

アンカータグとは

他の文書へ「リンクを貼る」、あるいは「ページ内ジャンプ」をする際に使われる技術。HTMLとは HyperText Markup Language の略だが、これは、情報をつなぎ合わせる、関連付ける機能を持った文書(ハイパーテキスト)をつくる言語のこと。このときA地点からB地点へ読者を誘導するために使われるのがアンカータグ。<a>で記述され、HTMLなどのハイパーテキストにおいて、ハイパーリンクのリンク元(A)とリンク先(B)を指定する。

href属性としてリンク先アドレス(URI=Uniform Resource Identifier)を、相対アドレスもしくは絶対アドレスでも記述する。href属性を持ち、リンク元に記述するa要素を「始点アンカー」と呼ぶ。
文書(ファイル)単位でなく、name属性(またはid属性)を用いて、リンク先文書内の特定箇所を指定することも可能。name属性を持ち、リンク先に記述するa要素を「目的地アンカー」または「終点アンカー」と呼ぶ。


もっと詳しく!

他文書へのリンク

HTML文書等の中では、以下のように記述する。

<a href=”(リンク先アドレス)”>(リンクを示す文字列)</a>

リンク先文書が同じフォルダ内にある場合、以下のような記述となる。

<a href=”ebookpedia.html”>いまさら聞けない電子出版のABC</a>

リンク元文書を基準に相対アドレスでの記述もできる。

<a href=”../ebookpedia.html”>いまさら聞けない電子出版のABC</a>
<a href=”abc/ebookpedia.html”>いまさら聞けない電子出版のABC</a>

絶対アドレスでの記述。

<a href=”http://www.jepa.or.jp/ebookpedia.html”>いまさら聞けない電子出版のABC</a>


他文書の特定位置へのリンク

リンク先がファイルの特定の位置である場合には、name属性(もしくはid属性)でその場所に名前を付与しておき、以下の形式で記述する。id属性はHTML4で追加された共通属性である。

<a href=”(リンク先ファイル名)#(名前)”>(リンクを示す文字列) </a>
<a name=”(名前)”>(リンク先文字列)</a>

以下の具体例では、自ファイル内の「<a name=”note1″></a>」がリンク先として指定されている。この場合、リンク先ファイル名は省略できる。

<p>JEPAは今年で<a href=”#note1″>30周年</a>です。</p>
<p>30年、それはもう、いろんなことがありました。</p>

<a name=”note1″></a>
<p>注1:日本電子出版協会設立総会は1986年9月12日。</p>

他のファイルの任意の位置へリンクする場合は以下のようになる。

<p>JEPAは今年で<a href=”history.html#note1″>30周年</a>です。</p>


name属性→id属性

ただし、上記例「<a name=”note1″></a>」のようにname属性を空タグとして使うのはよろしくなかろうということで、name属性はXHTML1.1で廃止となり、目的地アンカーとしては共通属性であるid属性を使用することになった。id属性の値は「ID名」または「フラグメント識別子」と呼ばれる。

<p>JEPAは今年で<a href=”#note1″>30周年</a>です。</p>
<p>30年、それはもう、いろんなことがありました。</p>

<p id=”note1″>注1:日本電子出版協会設立総会は1986年9月12日。</p>

id属性はスタイルシートやスクリプトでも処理の対象とすることができるが、もちろん、その値は当該文書内でユニークなものでなければならない(name属性の値ももちろん同様にユニークでなければならない)。ID名に使用できる文字は、半角アルファベット(a-z, A-Z)、半角数字(0-9)、ハイフン(-)、アンダースコア(_)、コロン(:)、ピリオド(.)のみ。また、先頭の文字は半角アルファベットである必要がある。あと、コロン(:)、ピリオド(.)は使わない方が無難だろう。


ID番号

ここまでHTML/XHTMLを中心に見てきたが、データベース系のXML、例えば辞書や事典などにおけるID番号がさらに重要な要素であることは説明不要であろう。

<dic-item id=”A0010″>
<headword>アクセシビリティ</headword>
<meaning> アクセシビリティとは障害者にとっての…</meaning>
</dic-item>
<dic-item id=”A0020″>
<headword>アンカータグ</headword>
<meaning> HTMLなどのハイパーテキストにおいて…</meaning>
</dic-item>

コンテンツ内でユニークであること、他項目や検索用インデクスから参照される目的地アンカーであることなど、本記事前半のname属性/id属性と同様の機能を備える。データベース系XMLではID番号がないとそのコンテンツは機能しないことを考慮すれば、HTML/XHTMLベースでのコンテンツにおいても適切な箇所にid属性を設定しておくことによって、そのレファレンス対応能力をより高められるであろうことは自明である。辞書・事典の類でなくともハイパーテキストを謳うものであるならば、文書の構成・構造を意識した上で、さらに高機能な情報アクセスを実現するためにid属性の設定が今後重要となることは間違いない。

[永田 健児/株式会社ディジタルアシスト/20160509]