多様な閲覧環境への対応
CSSを活用することで、多様なソフトウェアやデバイスに対し等価な情報を伝達できるということを、テーブルレイアウトについて触れた中で述べました。Webはその黎明期において、もっぱらPCの画面上で閲覧することが主流でしたが、今日ではそれ以外にも
- 携帯
- テレビ
- PDA
- 音声ブラウザ
- スクリーンリーダ
- キオスク端末
などを用いてアクセスする場合があります。
このように多様化する閲覧環境に対し、同じリソースでもって等しく伝えたい情報を伝え、またサイトの機能を提供するためには、
- 解像度
- 表示色数
- 回線速度
- 入力デバイス
などの諸条件が環境ごとに異なる点に配慮し、アクセシビリティを確保しなければなりません。もちろん同じPCであっても、上記に挙げた条件はユーザ個々に異なりますから、注意が必要です。ある特定の環境や条件下に最適化してしまうと、ほかのデバイスやソフトウェアからは利用しにくい(あるいは利用できない)ということが往々にしてあります。
そのような事態に陥らないためには、コンテンツにある構造と表現をできるだけ別々に扱うようにし、前者は文書の構造に即した適切なマークアップ、後者はCSSでもって実装することが望まれます。そうすることで、たとえCSSを解釈しない環境であっても、その環境がデフォルトで適用する表示方法に則り、サイトが適切に利用されることが期待できます。
コメント
閲覧端末として携帯電話などの比較的貧弱な端末とPCブラウザの能力と同等のブラウザを同列で扱っていらっしゃるように見受けますが、果たしてCSSだけで何処までカバーできるのかというと怪しいのではないか?と思いますがいかがでしょうか。むしろそこはサーバ側で振り分けて表示させるなどの配慮と私は考えます。
youichiさま、コメントありがとうございます。まず本エントリにおきましては、個々の閲覧環境についてその能力を比較するという意図はありません。ただ単に、Webの閲覧環境が多様化しているという事実をお伝えしたということです。
すべての閲覧環境において、該当するメディアタイプのCSSが十分に利用できるわけではないという現実は確かにありますが、そうであればこそ尚更、「コンテンツにある構造と表現をできるだけ別々に扱うように」しておくことが重要と考えます。そうすることで、CSSが無効の環境であっても、表現はさておき、文書の構造や意味は伝わることが期待できるからです。
もちろん「サーバ側で振り分けて表示させる」というのは、上述のような現状に対するひとつの解であり、配慮であると思います。しかし、予算やサーバ環境等の制約から、全てのケースでその手法が利用できるとも限りません。また、サーバ側で振り分けるということは、閲覧環境毎に異なるリソースを配信するということではないかと思いますが、本エントリでは前提条件として「同じリソースでもって」という点を挙げております。そのような観点から、Web標準、ここではマークアップ言語とCSSの適切な利用を推奨しました。