スマートフォン時代のcssの在り方
前回のエントリで、スマートフォンだと、ページみにくい話をしたのですが
今回はその続きの話です。
なんとかスタイルシート側の工夫で、スマートフォンでもPCでも快適にサイトが閲覧できるか考え直すために
久しぶりに、css2の仕様書を見直してみたのですが、主な分類はこのようになっています
all | 全デバイス向け |
braille | 点字出力 |
embossed | 点字プリンタ |
handheld | 白黒の携帯画面 |
プリンタ | |
projection | プロジェクタ |
screen | コンピュータのディスプレイ |
speech | 音声 |
tty | 文字のみ出力可能な低機能プリンタ |
tv | テレビ |
このとき久しぶりに気づく
あ、handheldって白黒画面向けなのね・・・
つまり
- 片手で持てるサイズの画面サイズ
- 基本フルカラー
この条件を満たすメディアタイプは存在しないということです。
というわけで、結論から言ってしまいますが
smartmediaって名前で、携帯電話向けのメディアタイプを追加すべきではないでしょうか?
他にも、携帯ゲーム機やカーナビ等、それなりのCPUと画面サイズを持ったデバイスは色々とあります。将来的には、IT家電等も、小さな画面+タッチパネルでの操作を持つデバイスの代表的なものの一つに入るでしょう
(実際には、現在それらのメディアはCSS2にそれなりに対応しています。個人的にはそんなことをするよりcss1に完全対応を目指して欲しい所・・・)
ついでに、ぶっちゃけた話。これだけメディアタイプが使われていない原因って、css2で宣言されているからなんですよね。
css1を完全に理解できないと、css2の仕様を取り込めない。でもメディアタイプに宣言されている点字機器や、白黒画面のデバイス、音声出力など、市場の小ささや機器の性能が低い事を前提とするデバイスにcss1の仕様を全て理解させるのは決して現実的な話ではありません。
この様な状況では、過半数以上のメディアがcssを理解するなと言っている様なものです。
なので、私は次の仕様を含んだ、css1の拡張であるcss1.1を作ることを提唱したいです。
- メディアタイプsmatmediaをメディアタイプとして追加
-
上記のとおりですが、正直そこそこ小さい画面+フルカラーのメディアに対する仕様が存在しないのは初期設計のミスであったとしか言いようが無い
-
@import "foo.css" screen, tv
いう形のメディアタイプの -
メディアタイプの定義の方法はたくさんありますが、現在一番良く使われているのはこれですので
css1.0程度しか理解できないブラウザに出来るだけ負担をかけないように実装させるためにこの仕様のみくぉcss1の方に落としてあげるべきだと思います
- @cssversion
-
cssのバージョンを、次の様にして定義します。
@cssversion "1.0"
これを文書の先頭で定義してやることで、自分の対応し切れていないCSSがある場合はシート全体の読み込みをパスします。
現在css3に対応しているブラウザとcss2までしか対応していないブラウザの切り分けをしないといけない問題が出ていますが
今後、様々なメディアタイプのスタイルシートの切り分けを行わなければならないことまで考えると、いいかげん、こういうバージョンでの切り分け機能が必要だと思われます。
規格と歴史にはベクトルと質量がありますから。ここを逃すとズルズルと代替手段の無いまま後方互換性の波に飲まれて規格自体が消えかねない所に来ています。
正直、それを考えると、CMS等を使わないでアマチュアがデザインを管理するためには、メディアタイプを有効に使うしかないし、今は、その最大最後のチャンスではないかと思っています。
こんなネットの片隅で叫んでもなかなかうまくはいかないのは分かっていますが、何方かこの危機を感じ取っていただける型の目に留まることを祈るばかりです
投稿者 baban 2010/06/12 at 02:34