ハイパーリンクは,WWW ページには不可欠な機構である。これを実現するのがハイパーテキストモジュール,つまり,a
要素である。
a
要素 まずは,a
要素の概説からはじめよう。a
要素はインライン要素で,テキストおよびインライン要素を内容とする。ただし,内容にa
要素が含まれてはいけない(入れ子の禁止)。
(#PCDATA | br | span | em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | bdo | img | map | object | input | select | textarea | label | button | ruby | ins | del | script | noscript)*
a
要素を除くインライン要素属性名 | 属性値 | 備考 |
---|---|---|
コア属性 | ||
style 属性 | ||
国際化に関する属性 | ||
イベント属性 | ||
href | URI | 参照先の URI |
charset | 文字エンコーディング | 参照先の URI のリソースの文字エンコーディング |
type | メディアタイプ | 参照先の URI のリソースのメディアタイプ |
hreflang | 言語コード | 参照先の URI のリソースが何語で書かれているかを与える |
rel | 関係 | その文書から見た,参照先の URI のリソースの関係 |
rev | 関係 | 参照先の URI のリソースから見た,その文書の関係 |
accesskey | アクセスキー | そのハイパーリンクのホットスポットへのアクセスキー |
tabindex | 数値(整数) | そのハイパーリンクのホットスポットへのタブインデックス |
shape | キーワード | クライアントサイドイメージマップで,href 属性に対応付ける領域の形状;既定値は“rect ” |
coords | 数値(複数) | クライアントサイドイメージマップで,href 属性に対応付ける領域の座標 |
onfocus | スクリプト | その要素がフォーカスを得たとき実行されるスクリプト |
onblur | スクリプト | その要素がフォーカスを失ったとき実行されるスクリプト |
上記の属性のうち,shape
属性(キーワードは rect
,circle
,poly
,default
)および coords
属性については,クライアントサイドイメージマップの項で述べることにする。また,onfocus
および onblur
属性についてはスクリプトの項で述べることにする。
a
要素のもっとも重要で頻繁に利用する役割は,他の文書を参照すること(ハイパーリンク)である。a
要素は(原則)テキストおよびインライン要素を含んで,それに対して href
属性に指定された URI へのハイパーリンクを張る。
URI の指定に関しては,Let's begin XHTML の Appendix C でも解説しているように,
http://
... と書いていく)base
要素で指定しない限り,現在の URI)を基準に指定する)がある。ここで,“../
”は“ひとつ上の階層(ディレクトリ)”,“./
”は“現在の階層(ディレクトリ)”を示すことを復習されたい。
ハイパーリンク先に,特定の要素を指定することができる。この場合,ハイパーリンク先の要素には id
属性が指定されていなければならない。この id
属性の値で要素を区別し,ハイパーリンクの到達先とする。このとき,その id
属性の値の前に半角ハッシュ記号「#
」をつける。このとき,href
属性は,“URI#
ID”のように与える。参照先が特に同じ文書である場合は,URI は空とし,“#
ID”のみでよい。
たとえば,同じ文書内の ID が“Section02
”へのリンクは,
<p><a href="#Section02">第 2 節</a>では,絶対値記号を含む最大最小問題について解説する。</p>
と記述できる。また,同じディレクトリのファイル“chapter3.html
”中の,ID が“Section03
”である要素へのリンクは,
<p><a href="chapter3.htm#Section03">3.3</a> では,三角関数も絡めた最大最小問題を扱っていく。</p>
と書くことになる。id
属性の項も復習されたい。
XHTML 1.1 では,要素の固有の名前を与えるのに使用していた name
属性がなくなっているので,リンク先として要素を指し示す場合は id
属性の値を使用することに注意しなければならない。
リンクを張るときに,リンク先の情報を前もって示すことができる。これらの補助情報を,必要なときに入れていくとよいだろう。
charset
属性は,リンク先の文書の文字エンコーディングを示しておくのに用いる。文字エンコーディングは,XML 宣言に書くものと同様で,“ISO-2022-JP
”(JIS),“EUC-JP
”(日本語 EUC),“Shift_JIS
”(シフト JIS)などがあった。
type
属性には,リンク先のリソース(ファイル)のメディアタイプを与えることができる。たとえば,テキストファイルは“text/plain
”,GIF ファイルは“image/gif
”,XHTML ファイルは“application/xhtml+xml
”,PDF ファイルは“application/pdf
”などである。そのほかにも多くのメディアタイプがあって,これらについては Appendix B にまとめておく。
たとえば,PDF ファイルへリンクするときは,次のように記述するとよいだろう。
<p> <a href="mathtext.pdf" type="application/pdf">夏期講習テキスト(PDF)</a>を事前にダウンロード・印刷しておいてください。</p>
hreflang
属性には,リンク先のリソース(ファイル)が何語で書かれているかを,xml:lang
属性と同様にして与える。たとえば,
<p> 数学に関する学会のひとつに<a href="http://www.ams.org/" hreflang="en">アメリカ数学学会(AMS)</a>がある。</p>
では,リンク先(http://www.ams.org/
)が英語で書かれていることを示している。
当然ながら,これらのリンクに関する付加情報は,同時に与えても構わない。