fidelio
HTML Memorandums - XHTML

XHTML1.1 では clickable map が使えない?

 画像のある領域を指定して、その部分だけにリンクを張る clickable map ですが、どうやら XHTML1.1 でこの方法を用いようとするとブラウザによっては対応できないようです。

 clickable map を行う場合、img タグに対して usemap という属性を追加しますが、XHTML1.1 では、この属性値に「#」を使うことが出来ず、under-score または文字から始めなければならないということになっています。ところが、この「#」を外してしまうと、少なくとも MSIE6・Firefox1.5・Opera8.52では map として認識しなくなるようです。ただし、w3c の Validation Service では合格になります。それが以下の例。

<img src="clickablemap.gif" alt="画像" usemap="test1" width="200" height="86" />
<map id="test">
<area shape="rect" coords="37,26,161,56" alt="memo" accesskey="T" href="html_memo.html" />
</map>

画像 memo

 そこで、usemap の属性値に「#」を補ってみると、MSIE6 と Opera8.52 では map として認識し、リンク先に飛ぶことが出来るようになります。一方、Firefox1.5 ではやはり map として認識しないようです。それが以下の例。

<img src="clickablemap.gif" alt="画像" usemap="#test2" width="200" height="86" />
<map id="test">
<area shape="rect" coords="37,26,161,56" alt="memo" accesskey="T" href="html_memo.html" />
</map>

画像 memo

 したがって、XHTML1.1 では、ブラウザが完全に対応するまでは clickable map を利用しないか、または XHTML1.0 以下で書くということになりそうです。もしかしたら、何か解決策が有るのかもしれませんが・・・。

Fidelio  >  もくじ  >  PC と Internet  >  HTML Memorandums  >  XHTML1.1 では clickable map が使えない?