2007-06-02 (土)
■ いまさらながら target="_blank" について
F's Garage:target="_blank"問題より。
僕のMTは、リンクを貼るときにtarget="_blank"を自動で入れるようにしています。
僕はタブブラウザを使うようになってから、 _blank が付いているサイトがあってもそんなに気にならなくなった。 だから個人的にはどっちでもいい話。でも、せっかくだから少し客観的に考えてみよう。 先に結論を書いておくと、「W3C準拠とかには関係なく、デフォルトでは _blank を指定しないほうが良い。 _blank を指定するのは訪問者の大部分が幸せになれると確信できるときに限る」という結論になった。
以下、結論に至るまでの道のり。
何かを実現するのに「これこれこういう操作をすればいいじゃん」というのは、スキルのある人から、スキルのない人に向けて言うのは、そもそも間違っていると思っていて、スキルのある人が譲ってあげた方が世界は平和になれます。
これは同意。 なので問題は、スキルの有無に関係なく _blank が一般的に有用かどうかになる。
いかんせん_blankには好き嫌いが絡んでいるようにしか見えず、既にリリース済み、かつ普及しきっている仕様を、「選択の自由度が云々」とか言う理由で、なくすってのは違うような気がする。
裏は取ってないけど、 _blank が非推奨になっているのは「選択の自由度」が理由じゃなくて、使い勝手(アクセシビリティ)を損ねるからのはず。 target属性の利便性 (kuruman.org > 駄的HTML改善計画)には以下のように書かれている。
これは新しいウィンドウを開くという動作がアクセシビリティに影響を与える事を明言しています。target属性でそれを実現していようがスクリプトによって実現していようがアクセシビリティを損ねることに変わりないのです。
具体的に _blank が付いていて嬉しいときと嬉しくないときを考えてみた。
嬉しいとき
- そのページを起点にして多くのページを開きたいとき。リンク集とか検索結果とか。
- そのページの内容と次のページの内容を同時に見比べたいとき。
嬉しくないとき
- そのページからリンクが一つしか張られていないとき。閉じるのが面倒。
- 新しいページからそのページに戻れないとき。
僕は、一般的に「嬉しいとき」よりも「嬉しくないとき」のほうが多いんじゃないかと思ってる。 理由は以下の通り。
- パソコンに慣れていない人は、ウインドウが複数開くのに慣れていない(パソコン以外の家電やゲーム機はシングルウインドウ)。
- 「戻る」ボタンで前のページに戻れなくなる。「戻る」ボタンより「閉じる」ボタンの方が押しにくい。
- IEを常に最大化で使っている人は、新しく開いたウインドウをいちいち最大化しないといけない。
- 利用者が見る大部分のページは「基点になるページ」ではなく「通過するページ」になる。
使いやすさを考えてみる。(アクティブシニア・シルバー層の現場から): 別ウィンドウは何故いけないのかにも同じようなことが書いてあった。
1)別ウィンドウが開いたことに気づかない
2)マルチウィンドウの概念がない。
3)×がどのウィンドウに所属しているかの概念が薄い
スキルの無い人(Shift + クリックを知らない人)のことを考えるのであれば、同じウインドウで開いた方がいいし、スキルがある人のことを考えるのであれば、選択の余地を残しておいた方がいい。
まあ、極端に「全てのリンク*1が新しいウインドウで開く世界」と「全てのリンクが 同じウインドウで開く世界」のどっちがいいかと考えてみれば、答えは出るかも。 「絶対に使うな」じゃなくて、「使うときは慎重に」、ということ。少なくともデフォルトではオフでいいんじゃないかな。
追記
この議論については、target="_blank"に関する議論 - 徒委記にリンク集があった。
*1 「別ドメインへの全てのリンク」と限定してもいい
■ _blank 話への追記(その2)
エロチック街道にて(Permalinkがちと微妙)。
多くのニュースサイトとか、ああ、画像掲示板などもそうだね、結構リンクは別ウインドウにしているところが多いので、そのつもりで
クリックする(新しいタブに表示)
リンク先ページ閲覧
リンク先ページのタブを閉じる
元のサイトでまた選ぶ
というサイクルで操作していると、通常リンクだった場合リンク先消したときに履歴も消えてしまって戻れなくなる。
これを読んでひらめいた図。
左のような使い方をする Web サイトや人の場合は、 _blank のほうが嬉しいのかも。 livedoor Reader とか Web メールなんかもこっち。 逆に _blank が頻発すると困るのは、右のような使い方をする場合かな。

1) _blankがないときに別ウインドウで開く<br>2) _blankのときに同一ウインドウで開く<br><br>私は1)をよくやりますが、2)ってできるんでしょうか(質問)。もし2)ができないなら、選択の余地を残すという意味で_blank指定なしがデフォルトであることがうれしい…と単純にはいかないかな?
(2)は裏技的な設定で出来るようです。<br>http://blog.blueblack.net/item_18<br><br>W3C勧告のガイドラインでも「選択の余地を残す」ために _blank を使うべきでないと書かれています。<br>http://www.zspc.com/documents/wcag10/index.html#gl-interim-accessibility<br>それに対して「選択できることを知らない初心者のことを考えるべき」という反論が出ていたので、選択の余地以外の理由を考えてみました。
簡単な方法としては、リンクをドラッグして、IE7であれば自タブのところやタイトルバーに持って行ってドロップすれば、同一ウィンドウで開きます。<br><br>target="_blank"は使うべきでないと思っていますし私も好きじゃないですが、現に使われてるところが多いのでそうやってます。
この方法は知りませんでした。これだと戻るボタンも使えますね。<br>でも、リンクが_blank指定かどうかはクリックするまで分からないので、全てのリンクでこれをやるハメに…。
blankなしがデフォルトに同感<br>やたら滅多新規ウィンドウが出ると邪魔だし<br><br>blankが嬉しいのは本文の途中で、それ以降もコンテンツが続くパターンだと思う。<br>参照元へのリンクとか、リンク集とか<br><br>ただ、逆のパターンでFlashバナーとかで新規ウィンドウが開いてくれないのは結構困る。<br><br>>パソコンに慣れていない人<br>の件はいまいち納得できないんだけど、<br>その発想で行くとキーボードやマウスでナビゲートさせるのも問題があるって事になるような・・・<br><br>パソコンでアクセスしてきてるんだからパソコンに最適化したページを見せるべきじゃないの?
そこまで極端な話ではなくて、マウスやキーボードよりもマルチウインドウの方が取っ付き難いのでは?と考えています。