アクティブな<area>要素には代替テキストが必要です
修正方法
イメージマップ内のすべてのクリック可能な <area>
にリンクの目的を説明する alt
、aria-label
または aria-labelledby
属性値が付与されていることを確認します。
usemap
属性が付与された <img>
要素は、area
属性値により定義されたクリック可能な箇所を囲む一連の <map>
タグを使用するイメージマップを特定します。各 area
に対し代替テキストを定義するため、追加の alt
属性が必要です:
<img src="images/solar_system.jpg" alt="Solar System" width="472" height="800" usemap="#Map"/>
<map name="Map">
<area shape="rect" coords="115,158,276,192" href="http://en.wikipedia.org/wiki/Mercury_%28planet%29" alt="Mercury">
<area shape="rect" coords="115,193,276,234" href="http://en.wikipedia.org/wiki/Venus" alt="Venus">
<!-- Remaining hotspots in image map... -->
</map>
悪い例
マウスクリック座標に依存するサーバーサイドイメージマップは使用しないでください。これらのマップはキーボードでアクセスできず、また、操作可能な箇所に代替テキストを付与できません。
<a href="/maps/nav.map"><img src="/images/navbar.gif" ismap></a>
なぜ重要なのか
スクリーン・リーダーには画像を文字に変換する手段がありません。イメージマップを含むすべての画像に alt
テキスト値があることが重要です。
代替テキストが不足している場合、スクリーン・リーダーは通常、画像のファイル名を読み上げます。ファイル名は画像を十分に説明せず、スクリーン・リーダーのユーザーにとって役に立ちません。
ルールの説明
イメージマップは、複数のクリック可能な領域がある一つの画像です。スクリーン・リーダーはグラフィックをテキストに変換する手段を持っていないため、すべての画像と同じように、イメージマップのそれぞれの異なるクリック可能なエリアと、全体の画像そのものに代替テキストが必要です。
仕組みについて (簡単に言うと)
イメージマップの area
要素に代替テキストが存在することを確認します。