本サイトでは、リンク先が外部の場合、別ウィンドウで開くようにしてある。この方が自サイトと外部サイトの区別がはっきりわかるからよい、と自分では思っていたのだ。
が、いまさらながら、これが自分の思い込みだということに気付いた。
小学3年生の甥がウチに遊びにきたときインターネットで遊んでいるのを見ていたところ、勝手にウィンドウが増えて(移って)しまうと、前のページに戻れないという状態に陥るのを目撃した。「戻る」ボタンで戻れないから迷ってしまうのだ。これを見て、インターネットの初心者にとって、新しいウィンドウが開くかどうかということはほとんど意識にないのだ、ということに思い至った。目からウロコが落ちたような気がした。
ウェブ・アクセシビリティの標準でも、リンク先を別のウィンドウで開くかどうかは閲覧者の選択にまかせるべきであるという考え方で、リンクは同一ウィンドウに開くことがよいとされている。もちろん、ウチの甥っ子はリンクの開き方を選択することなどできないが、初心者であればなおのこと、ひとつのウィンドウで連続してページを閲覧したほうが、流れは理解しやすいに違いない。
しかしやはり、別窓で開く方がいいのだという意見も存在する。
それはさておき、どちらの流派(?)も満足させる解決法としては、リンク先は同一ウィンドウにして「ここから先は外部のサイトです」ということをアイコンなどで明示するのが一番よいのだろう。Wikipedia で使われている方法だ。初心者は「戻る」ボタンで戻れるし、エキスパートなら外部サイトであることを認識して、状況に応じて自分で別ウィンドウを開いたりするはずだ。
外部リンクを示すアイコンを表示するにはスタイルシートを使うのがいいのだが、IE 対策がネックだ。
CSS の after とか before の擬似要素でやるのが理想だが、例によって IE がこれに対応していない。しょうがないからバックグラウンドにアイコン画像を指定(リンク部分の背景とする)しようとしたら、これまた IE に、途中で改行が入ると表示がヘンになるというバグがある・・・
しかもこれらの欠陥は、驚いたことに IE6 から 7 になっても解消されずに引き継がれているらしい。なんとひどいことだろう。それでもシェアが圧倒的に一番だってんだから無視できない。ウェブサイトの作り手にとっては実に迷惑なブラウザだ。
こうなると javascript の出番だが、探してみると LogJET という blog の「新しいウインドウを開くべき?」というエントリにたいそう便利なスクリプトが公開されていた。