img要素のlongdesc属性とイメージマップ
Firefoxでブラウズ中、ページ上で右クリックして「プロパティ」を選択すると、「要素のプロパティ」というウインドウが開きます。
これをgifやjpegといった画像の上で開くと、URL、幅、高さ、代替テキストといった「画像のプロパティ」が参照できますが、どうやらimg要素にlongdesc属性の値で指定したURIもここで確認ができるようになっているようでした。ほー、これまで全然気づかなかったですよ。
できればクリックで飛べるようになっていたらもっと良かったのかもしれませんけども、そこまでの必要もないですか。
img要素のlongdesc属性は、イメージマップを使用している場合、特にサーバーサイド・イメージマップであればなおさら、その内容を示す文書へアクセスできることが好ましいとされています。
サーバーサイド・イメージマップは各項目の代替テキストや、そのリンク先のURIを明示できないからなのでしょう。まぁ最近はサーバーサイド・イメージマップ自体をあまり見かけなくなった気もします。map要素を使ったクライアントサイド・イメージマップのほうが主流となっていますね。
ところでそのクライアントサイド・イメージマップですが、XHTML1.1の仕様書にあるA. Changes from XHTML 1.0 Strictを見てみると、
On the a and map elements, the name attribute has been removed in favor of the id attribute
とあります。
つまりXHTML1.0では
<img src="img00_.jpg" alt="" usemap="#map01" />
<map name="map01" id="map01">
略
</map>
のように記していたものでも、XHTML1.1の場合name属性は使えませんので
<img src="img00_.jpg" alt="" usemap="map01" />
<map id="map01">
略
</map>
としなければならなくなるというわけでしょう。ふむふむ。
というわけでちゃんとそれで機能するか試してみたのですが、残念なことに今のところFirefoxを除く主要ブラウザはこれをサポートしていないようです。
つまり現実問題として(現段階では)XHTML1.1でクライアントサイド・イメージマップは使えないというか、使わないほうが無難だと考えられると思います。
このエントリーのトラックバックURL
http://www.extype.com/mt/mt-tb.cgi/48