サーバー側のイメージマップは使用しないでください
修正方法
すべてのサーバーサイドのイメージマップをクライアントサイドのイメージマップに変更します。
悪い例
サーバーサイドのイメージマップを使用しないようにします。
<a href="/maps/nav.map"><img src="/images/navbar.gif" ismap></a>
良い例
クライアントサイドのイメージマップは、<img>
要素に含まれています。それらにはイメージマップの名前を含んだ usemap 属性が付与されています (つまり <img usemap="myImageMap" src="..." >
) 。<img>
要素の後、<map>
要素の組み合わせでマップ上に定義されたクリック可能なホットスポットのスペースを囲みます:
<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>
なぜ重要なのか
サーバーサイドのイメージマップはキーボードで操作できません。画像内のリンクにアクセスするには、マウスによるクリックが必要であるため、キーボードだけで操作しているユーザーは画像にアクセスできません。
サーバーサイドのイメージマップは、イメージマップを処理するサーバーサイドスクリプトにマウスクリックの座標を渡します。クライアントサイドのイメージマップはキーボードでアクセスできるのに対し、サーバーサイドのイメージマップはマウスクリックに依存するため、キーボードでアクセスできません。さらに、クライアントサイドのイメージマップで使用される area
のように、サーバーサイドのイメージマップの操作可能なエリアにテキストによる代替を提供することは不可能です。
ルールの説明
ドキュメントにクライアントサイドではなく、サーバーサイドのイメージマップが含まれています。
仕組みについて (簡単に言うと)
サーバーサイドのイメージマップが使用されていないことを確認します。