HTML

HyperText Markup Language area element.

area 要素

 area要素は、イメージマップ上のハイパーリンクを定義します。area要素は、map要素の中に入れて使います。

 area要素では、三角形や四角形や円などの所定の形状で領域を定義して、その領域をハイパーリンクにします。

href 属性

 href属性にリンク先の URL を入れた場合は、その area要素は、ハイパーリンクとなります。つまり a要素と同じ役割を果たすことになります。そのため、target、ping、rel、media、hreflang、type属性は、a要素と同じ働きをします。これら属性の詳細については、「 a要素 」をご覧ください。

alt 属性

 area要素に href属性を指定してハイパーリンクを表した場合、area要素の alt属性は必須となります。alt属性の値は、イメージが表示できないユーザーエージェント向けのフォールバック・コンテンツとなります。該当のイメージを見ることが出来ないユーザーに対して、そのイメージを想像してハイパーリンクを選択することができるような文章をセットしてください。

 ただし、map要素の中に、同じリンク先を持った area要素が 2つ以上あれば、そのうち1つの area要素の alt属性にのみ値をセットして、それ以外の area要素の alt属性を空文字列としても構いません。つまり、alt="" とすることができます。ただし、alt属性を省略することはできませんので、注意してください。

 なお、href属性を省略した area要素では、alt属性も省略しなければいけません。alt="" のように空文字列を指定することもできません。このような area要素に alt属性を指定すると、HTML5 非準拠となりますので、注意してください。

形状の定義

 area要素で定義できる領域の形状は、shape属性にセットします。area要素の shape属性は列挙属性で、指定できる値は決められています。このコンテンツ属性に任意のキーワードをセットすることはできませんので、注意してください。

 また、形状の座標は、area要素の coords属性を使って、イメージの端からの距離を CSSピクセルで指定します。この属性には、整数を半角カンマで区切って指定します。整数の順番には、形状によって、それぞれ意味が定義されています。

shape属性値
意味
coords属性の値(左から順に)
circle
【円】
以下の3つの整数を指定しなければいけません。
  1. イメージの左端から円の中心までの距離
  2. イメージの上端から円の中心までの距離
  3. 円の半径
なお、③だけは 0以上の整数でなければいけません。
poly
【多角形】
以下の2つの整数で多角形の頂点の位置を表します。最低でも3組の点を指定しなければいけません。つまり最低6つの整数を指定しなければいけません。
  1. イメージの左端からの距離
  2. イメージの上端からの距離
この2つの整数で表された頂点を順に結んで多角形を表します。
rect
【四角形】
以下の4つの整数を指定しなければいけません。
  1. イメージの左端から、四角形の左端までの距離
  2. イメージの上端から、四角形の上端までの距離
  3. イメージの左端から、四角形の右端までの距離
  4. イメージの上端から、四角形の下端までの距離
なお、①<③、②<④ が成り立たなければいけません。

イメージマップのレンダリング例

形状を選択してください:
赤色の穴あきボックス、緑色の円、青色の三角形、黄色の星の4つの形状が利用できます。 赤色のボックス 緑色の円 青色の三角形 黄色の星

 もし、shape属性を省略したら、rect が指定されたものとして処理されます。では、この例を見ながら、それぞれの形状の定義の方法を見ていきます。

img要素


<img src="map.jpg" usemap="#shapes" alt="赤色の穴あきボックス、緑色の円、青色の三角形、黄色の星の4つの形状が利用できます。">

 まずは、イメージマップを表すイメージを img要素でマークアップします。この img要素の alt属性には、どんな図形があるのか、そして、どれが利用可能なのかが理解できる文章を入れるのが良いでしょう。

 イメージマップを表す img要素には、usemap属性が必須です。この属性には、map要素の name属性の値の前に「#」を加えた値をセットします。

map要素


<map name="shapes">
	<!-- area要素を入れます。 -->
</map>

 map要素の中に、イメージマップのハイパーリンクとなる形状を定義する area要素を入れます。

area要素(四角形)


<area shape="rect" coords="47,48,101,96"> <!-- 赤色のボックスの穴 -->
<area shape="rect" coords="11,12,139,133" href="red.html" alt="赤色のボックス">

 まずは、四角形を見ていきましょう。四角形を表すためには、shape属性に rect を指定します。

 この例では、四角形の中に、ハイパーリンクとならない四角形があります。まず、この内側の四角形を area要素で定義します。

 この area要素では href属性と alt属性が省略されていることに注目してください。これによって、この area要素で指定された領域は、ハイパーリンクにならないことを表すことになります。

 coords属性には、半角カンマで区切られた整数が4つ定義されています。左から順に、以下の整数が定義されています。

  1. イメージの左端から、四角形の左端までの距離 (47)
  2. イメージの上端から、四角形の上端までの距離 (48)
  3. イメージの左端から、四角形の右端までの距離 (101)
  4. イメージの上端から、四角形の下端までの距離 (96)

 2つ目の area要素では、ハイパーリンクとなる四角形を定義しています。ハイパーリンクを表すために、href属性と alt属性がセットされている点に注目してください。

 coords属性には、以下の整数が定義されています。

  1. イメージの左端から、四角形の左端までの距離 (11)
  2. イメージの上端から、四角形の上端までの距離 (12)
  3. イメージの左端から、四角形の右端までの距離 (139)
  4. イメージの上端から、四角形の下端までの距離 (133)

 ただし、1つ目の area要素でハイパーリンクとならない領域が定義されているため、この1つ目の四角形全体はハイパーリンクとなりません。

area要素(円)


<area shape="circle" coords="221,76,65" href="green.html" alt="緑色の円">

 円を表すには、shape属性に circle を指定します。coords属性には、半角カンマで区切られた整数が3つ定義されています。左から順に、以下の整数が定義されています。

  1. イメージの左端から円の中心までの距離 (221)
  2. イメージの上端から円の中心までの距離 (76)
  3. 円の半径 (50)

area要素(三角形)


<area shape="poly" coords="365,19,294,134,435,135" href="blue.html" alt="青色の三角形">

 三角形は、多角形の1つですので、shape属性に poly を指定します。coords属性には、半角カンマで区切られた整数が6つ定義されています。左から順に2つずつの整数で、以下のように頂点の位置を表します。

  1. イメージの左端からの距離
  2. イメージの上端からの距離

 この2つの整数は、イメージの左上端を原点として、右向きに x軸、下向きに y軸とした平面座標系の座標を表しています。この頂点の座標を3つ、つまり整数を6つ用意すれば、三角形となります。この例では、(365,19)、(294,134)、(435,135) を頂点とした三角形となります。

area要素(星)


<area shape="poly" coords="505,13,486,61,434,78,486,96,506,141,526,97,577,78,526,61" href="yellow.html" alt="黄色の星">

 三角形と同じようにして、もっと複雑な多角形を定義することができます。この例では、(505,13)、(486,61)、(434,78)、(486,96)、(506,141)、(526,97)、(577,78)、(526,61) で表される点を順に結んで閉じた図形となります。

area要素の概要

カテゴリー
フロー・コンテンツ
フレージング・コンテンツ
コンテンツ・モデル
利用可能な場所
フレージング・コンテンツが期待される場所。
ただし、map要素の中だけで利用可能。
開始タグ
必須
終了タグ
禁止。
ただし、<area /> のように終了タグを表すスラッシュを開始タグに入れる表記は可能。
要素固有の属性
alt
イメージマップのフォールバック・コンテンツとテキストを指定します。
coords
ハイパーリンクとなる形状の座標の定義を指定します。
shape
ハイパーリンクとなる種類の座標の定義を指定します。
href
ハイパーリンク先のアドレスを指定します。
target
ハイパーリンクをたどったときに使われるブラウジング・コンテキストの名前やキーワードを指定します。
ping
ユーザーがハイパーリンクをたどったことを知らせる URL のリストを指定します。
rel
ハイパーリンクがあるドキュメントと、ハイパーリンクが指し示す宛先との関係を表すキーワードのリストを指定します。
media
ハイパーリンクの宛先が想定するメディアを表すキーワードを指定します。
hreflang
ハイパーリンクの宛先の言語コードを指定します。
type
ハイパーリンクの宛先のMIMEタイプを指定します。
標準的なスタイル
area {
	display: none;
}