Validated

2005/01/08 Sat 14:31

Valid XHTML 1.0! Valid CSS!

そろそろXMLのこともちゃんと知っておかないといけないなぁと思いつつ、DTDを見たりしながらこのページをXHTML 1.0 Transitionalとして整えてみた。将来的にどうなるかはわからないけど、とりあえず今日のところは正当であるということでここにアイコンを貼りつけておきますよ。

アンカータグのtarget属性はTransitionalにしかなかったのね。本当はStrictにしたかったけど、広告のリンクはどうしても別窓指定にしたかったのでTransitionalで妥協。将来的に「別のサイトを新しい窓で開く」というブラウズのスタイルをどう包含していくのかな? それとも無くしていきたいということなんだろうか。

追記:このスレの207-268あたりで議論されていたが、結局のところ<a>タグのtarget属性がTransitionalにはあってStrictにはないことが暗示しているということのようだ。

Web Content Accessibility Guidelines 1.0 (W3C) 英語
フレームのターゲットとして新しいウィンドウを開くのは避ける」(日立製作所デザイン本部 : Webユニバーサルデザインガイドライン(6-12))

WCAG 10.1には「ユーザの意志でユーザーエージェントが新しいウィンドウを生み出すかどうかを選択できないなら、ユーザに知らせないままポップアップや他の窓を表示したりカレント・ウィンドウを変更したりしてはいけない」というようなことが書いてある。ただ、原文ではturn off spawned windowsとわざわざspawn(「カエルや魚などのうじゃうじゃした卵」→「~を大量に生む」)という語が使われているので、「ブラクラ」のようにポップアップがうじゃうじゃ生み出されていくような状態が含意されているのかもしれない。だとすれば良識的な範囲で別窓を使うことはそれほど外れたものでもないとも考えられる。

でも、あらゆる人が使える(普遍的な/ユニバーサルな)ウェブデザインを意識すること、つまり障害者や高齢者が自動読み上げソフトを経由して利用することなども想定したガイドラインなので、特に読み上げ等に支障が出るというならリンクターゲットを別窓にすることが推奨されないのも理解できる。が、読み上げソフトを使ったことがないのでこの点にはあまり自信がない。

ひとまず読み上げ以外の部分に話を戻す。アンケートはてなのリンクターゲットに関するアンケート結果では「別窓」派が1.8倍以上多く、「どちらでもいい」を含めると2倍以上。はてなユーザーという偏向は考えるべきだろうけど、それにしても圧倒的に同一窓派が勝るかどうかはわからない。個人的にも、同一サイトのリンクだけはその窓で開き、別のサイトへ移る場合は新しい窓を開いてくれるようなサイトは便利だと感じることがある。数の大小で決めてはいけない問題ではあるが、かといって別窓への展開という選択肢をなくしてしまうのはどうかと思う(現在は「移行期のもの」として認められてはいるけど)。

New-Window Links in a Standards-Compliant World (sitepoint)

ここではHTML 4.0 Strict/XHTML 1.0 Strictの正当性を保ちながらリンクを新しいウィンドウで開く方法がひとつ提案されている。<a>タグのrel属性は標準とされる値があるものの、非標準の値を使ってもかまわない規格であることを利用し、rel="external"と指定したアンカーだけをJavaScriptで別窓に展開するというもの。作者のYankさんは自ら「これは技術的なイカサマではないのか?」という問いを立て、DOM 2.0にtarget属性が含まれていることを根拠に「イカサマではない」と答えている(DOM Level 2 HTMLのことか?)。

読み上げや、スキルを期待できない(いきなり窓が開くと混乱してしまうような)ユーザを想定してサイトを作ろうとするならばリンクターゲットは考慮すべき問題だろう。一方、スキルを期待できるユーザを優先しようとするならば、ターゲットを別窓にすることは今後も選択肢に入れてよいと思う。あとは各自の判断で、ということで話を締めることにする。

Posted at 14:31 | Diary | 0 writebacks | edit
Tagged as:

writebacks

trackback URI

http://cu39.s57.xrea.com/diary/20050108_validated.trackback


SPAM ロボットを排除するため文字判読テストをお願いしています。画像に書いてある2つの単語を入力してください。単語の間には半角スペースを入れます。