Webで長文をどう読ませるか
ちょっと興味のあるトピックだったので、メモ。
どうしてブラウザで長文が読めないのか - コトリコ
http://d.hatena.ne.jp/kotorikotoriko/20090412/1239484583
長文をWEBに載せるなら、ページを分割して見出しを明確にしよう。 - てきとーに、てきとーに。
http://d.hatena.ne.jp/take-it/20090413/p1
要するに、UIとしてのスクロール/スクロールバーにはまだ不十分な点があるよねってことと、それなら適切にページを分割すればいいんじゃないの、という話。
前者については、言われてみれば確かにその通りで、プレーンなテキストをただスクロールしていくっていうのは、実は意識すると結構しんどい。個人的には、Home/EndとPage Up/Downキーを併用するとかなり楽になると思うんだけど、世の中的には(うちの親あたりを見ていると)、マウスでのみブラウザを操作するという人が多いような気がする。
後者については、「見出しを明確にしよう」はもっともだけれど、縦サイズとか文字数区切りでのページ分割には、慎重になったほうがいいんじゃないかなと思った。(静的な)Webサイトにおける「ページ」って、本のページとは違って、「ファイル」と同義だから、基本的には単体の文書として完結していてほしい。今どきのニュースサイトなんかを見ていると、PV稼ぎ?か分からないけど、意味的でない箇所で無闇にページを分けているケースが気になるので、余計にそう思うのかも。
ただ、私は、小さいころから画面を埋め尽くしている文字を読むのが好きなほうで、一般的な感覚とはだいぶズレてるなという自覚があるので、いざ作るとなると、その都度まわりの人の意見を聞かないと作れる自信がない。
以前作った「リレーションズ」のインタビュー記事もけっこうな長文で、正直セクションごとにページ分割したほうがいいのかな、とも思った。実際、デモ段階でレビューしてもらったunaくんには、読みやすさの点でいろいろアドバイスを受けたし、それを受けていくつかの箇所では現行デザインに反映させている。
でも結局、この時はページネーションは設けなかった。
そもそも、「文書を読みやすく表示する」というのは、それぞれのユーザーエージェントの仕事であって、見出しと本文の適切なマークアップ以上のことを、ページ(ファイル)作成者に期待するのはおかしい。閲覧環境は千差万別で、どの文字数でページ分割するのが適切かというのは一概には言えないし、将来的にどう変わっていくかもまだ分からないし。
なので、ページネーションにしろ、それ以外の解決策にしろ、「長文を読ませる手段」はブラウザ側で実装するのが理想だと思う。それこそ、ユーザースクリプトでは既にありそうだけど。例えば、音声ブラウザの見出しスキップ(キーボードでhx要素をスキップしていく機能)とか、長文の全体像を把握するのにはいいなと思うんだけど、どうなのかな。
ただ、現実的には、ある程度はページ作成者側でも対応できる部分はしなきゃいけない。事実として、長い文章が読みにくいという人がいる以上、工夫したいなとは思っている。前述のインタビュー記事を組んだときは、下記の対応をとりました。
まず、これが指摘を受けて修正した箇所なんだけど、見出しと本文のレイアウトを見やすくした。基本だよね。でもこれ、自分で作ってると意外に気付かない点が多くて、誰かにレビューしてもらうと、へー、っていう部分がポロポロ出てくる。
スクロールの問題点として指摘されている「テキスト総量が把握しにくい」という点に対しては、ページ内ナビゲーションを兼ねた目次を設置してます。この、ナビゲーションと本文の混在のしかたもいろいろと課題含みのような気がするけど、現時点ではアリという判断。
いずれにしても、長すぎるからと安易にページを分割するのは、ちょっと違うと思う。スクロールと、新規ページ読み込みと、どっちが時間的コストが高いかというと、多くの場合でまだ後者なんじゃないかなぁ。
で、その上で、もし分割するのであれば、link要素で前後の文書との関係性を明確にするとか、最低限の対応はしないといけないような気がします。
(この記事を最後まで読んだ方、お疲れさまでした。)