「別ウィンドウで開く」のをやめることにした。
本サイトでは、リンク先が外部の場合、別ウィンドウで開くようにしてある。この方が自サイトと外部サイトの区別がはっきりわかるからよい、と自分では思っていたのだ。
が、いまさらながら、これが自分の思い込みだということに気付いた。
小学3年生の甥がウチに遊びにきたときインターネットで遊んでいるのを見ていたところ、勝手にウィンドウが増えて(移って)しまうと、前のページに戻れないという状態に陥るのを目撃した。「戻る」ボタンで戻れないから迷ってしまうのだ。これを見て、インターネットの初心者にとって、新しいウィンドウが開くかどうかということはほとんど意識にないのだ、ということに思い至った。目からウロコが落ちたような気がした。
ウェブ・アクセシビリティの標準でも、リンク先を別のウィンドウで開くかどうかは閲覧者の選択にまかせるべきであるという考え方で、リンクは同一ウィンドウに開くことがよいとされている。もちろん、ウチの甥っ子はリンクの開き方を選択することなどできないが、初心者であればなおのこと、ひとつのウィンドウで連続してページを閲覧したほうが、流れは理解しやすいに違いない。
しかしやはり、別窓で開く方がいいのだという意見も存在する。
- 外部サイトは別窓で開くものという暗黙の了解となっているので、同一ウィンドウだとうっかり閉じてしまうことがある。
- 同一ウィンドウだと、外部サイトをひととおり見終わって元のサイトに戻るときに「戻る」ボタン連打が面倒。
ただ「暗黙の了解」は初心者は知らないのだから、ウチの甥っ子のような状況に陥ってしまうわけで。
それに、これらはブラウザに IE を使っている弊害だろうと思う。Opera や Sleipnir、Firefox なら、うっかり閉じてしまった画面をすぐ復活させることができるし、リンク先を別窓で開いたりするのもクリック一発でできるので、上述の理由はまったく問題にならない。でも、買ったままの Windows PC についている IE を使うのが普通の人なわけで。
それはさておき、どちらの流派(?)も満足させる解決法としては、リンク先は同一ウィンドウにして「ここから先は外部のサイトです」ということをアイコンなどで明示するのが一番よいのだろう。Wikipedia で使われている方法だ。初心者は「戻る」ボタンで戻れるし、エキスパートなら外部サイトであることを認識して、状況に応じて自分で別ウィンドウを開いたりするはずだ。
外部リンクを示すアイコンを表示するにはスタイルシートを使うのがいいのだが、IE 対策がネックだ。
CSS の after とか before の擬似要素でやるのが理想だが、例によって IE がこれに対応していない。しょうがないからバックグラウンドにアイコン画像を指定(リンク部分の背景とする)しようとしたら、これまた IE に、途中で改行が入ると表示がヘンになるというバグがある・・・
しかもこれらの欠陥は、驚いたことに IE6 から 7 になっても解消されずに引き継がれているらしい。なんとひどいことだろう。それでもシェアが圧倒的に一番だってんだから無視できない。ウェブサイトの作り手にとっては実に迷惑なブラウザだ。
こうなると javascript の出番だが、探してみると LogJET という blog の「新しいウインドウを開くべき?」というエントリにたいそう便利なスクリプトが公開されていた。
こっ、これは素晴らしい。IE の問題も見事に回避されている。思わず飛びつきそうになったが、マック版 safari でバグがあるらしい。こちらを立てればあちらが立たず。ユーザ数から言えば IE を優先するという選択肢もありだが、ウチのサイトの場合 Safari は、IE・Firefox の次にアクセスが多いブラウザなので無視できない。それに自分のような javascript を切っているユーザには効果がない。
といろいろ検討した結果、CSS でバックグラウンド指定する方式なら、IE にバグはあるけれども途中改行さえなければちゃんと表示されるし、Wikipedia もそうしているから、これをマネすることに決めた。修正は正月休みにちまちまとやることにしよう。
(修正が終わった。スタイルは Max Design のものをちょっとだけアレンジして使った。これ、hover でアイコンの色が変わるのがおもしろい。)