mapの概要
| 画像内にクリック可能な領域を設定する HTMLタグ | ||
|
<map name=”マップ名”> <area …> </map> 概要 mapタグは、画像内の特定の領域をクリック可能にするために使用されます。 |
||
|
mapタグの主な属性
| 属性 | 説明 | 使用例 |
|---|---|---|
name |
画像マップの名前を指定 | <map name="exampleMap"> |
usemap |
画像にマップを適用(#付きの名前) |
<img src="map.jpg" usemap="#exampleMap"> |
areaタグの主な属性
| 属性 | 説明 | 使用例 |
|---|---|---|
shape |
クリック領域の形状(rect, circle, poly) | <area shape="rect" coords="10,10,100,100"> |
coords |
座標を指定 | rect: x1,y1,x2,y2 / circle: x,y,r / poly: x1,y1,x2,y2,... |
href |
クリック時のリンク先 | <area href="page.html"> |
alt |
代替テキスト(アクセシビリティ向上) | <area alt="リンク説明"> |
target |
リンクの開き方を指定 | <area target="_blank"> |
mapタグの基本的な使い方
以下の例では、画像内の異なる領域にクリック可能なリンクを設定しています。
<img src="map.jpg" usemap="#exampleMap" width="500" height="300">
<map name="exampleMap">
<area shape="rect" coords="50,50,150,150" href="https://www.google.com" target="_blank" alt="リンク1">
<area shape="circle" coords="250,150,50" href="https://www.yahoo.co.jp" target="_blank" alt="リンク2">
</map>
実行例:
mapタグの応用:ポリゴン(多角形)領域の設定
ポリゴンを使用すると、不規則な形のクリック領域を作成できます。
<area shape="poly" coords="100,100,200,50,300,100,200,150" href="page3.html" alt="ポリゴンリンク">
注意事項
- 画像の
usemap属性とmapタグのname属性を一致させる。 - 適切な
coordsを設定し、正しい位置にリンク領域を作成する。 - アクセシビリティ向上のため、
alt属性を指定する。 - クリック領域を視覚的に確認しながら調整すると、精度が向上する。
よくある質問
- Q: 画像マップをレスポンシブ対応にするには?
- A: JavaScriptの
resizeイベントを使用して、画像のサイズに合わせて座標を動的に調整できます。 - Q: shape属性の違いは?
- A:
rectは四角形、circleは円、polyは多角形のクリック領域を指定できます。 - Q: 複数の画像マップを設定できますか?
- A: はい、異なる
name属性を持つ複数のmapタグを定義し、それぞれ異なるusemapを指定できます。 - Q: areaタグにCSSを適用できますか?
- A: いいえ、areaタグには直接CSSを適用できませんが、画像にオーバーレイを追加して視覚的な強調を行うことは可能です。
- Q: スクリーンリーダーはmapタグを認識しますか?
- A: ほとんどのスクリーンリーダーは
alt属性を使用してリンクを識別するため、適切な説明を付けることが重要です。
まとめ
mapタグは、画像内の特定領域にクリック可能なリンクを設定する。- 画像の
usemap属性をmapタグのname属性と一致させる必要がある。 areaタグのshape属性で領域の形状(四角形、円、多角形)を指定できる。- アクセシビリティ向上のため、
alt属性を必ず指定する。 - レスポンシブ対応にはJavaScriptを活用し、座標を動的に調整する必要がある。