アクティブ <area> 要素には代替テキストが必要です
修正方法
イメージマップ内のクリック可能な各 <area>
に、リンクの目的を説明する alt
、 aria-label
または aria-labelledby
属性値があることを確認します。
<img>
usemap
属性値を持つ要素は、 <map>
属性値によって定義されたクリック可能なホットスポットを囲む area
タグのセットを使用するイメージマップを識別します。それぞれの代替テキストを定義するには、追加の alt
属性が必要です area
:
<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
イメージマップの要素に代替テキストがあることを確認します。