object要素で表示するSVGのa要素にはtarget="_top"を忘れずに

SVGでa要素を使うときは

以下のようにtarget属性を指定しておいてください。


  SIE
<a xlink:href="http://sie.sourceforge.jp" xlink:title="ホームへ" target="_top">
  SIE
</a>

つい忘れがちですが、これをやっていないと、object要素で参照したときに問題が起きます。

どんな問題が起きるか

target="_top"を指定した場合

まずは、target="_top"を指定したページ (http://sie.sourceforge.jp/goals.html)をご覧下さい。上のロゴマークにはSVG画像が指定されていますが、ためしにクリックすると、ちゃんとリンクできています。

target="_top"を指定しなかった場合

以下のページでは、SVGのa要素にtarget="_top"が指定されていません。そのため、画像をクリックすると、フレーム内部でページの遷移が起きています。
http://mayuki.github.com/Sample/Test/Svg+Object/Sample2.html

結論

SVGをobject要素で表示してリンクにする

http://subtech.g.hatena.ne.jp/mayuki/20120212
上の記事では、object要素にa要素を適用していますが、そんな面倒なことをしなくても、a要素を使って、SVGにリンクを埋め込んだ方が早いよ、というのが私の結論です。(もちろん、target="_top"の指定を忘れずに)