忘れ去られたメディアタイプ
大分久しぶりですが、HTML、CSSのオハナシ。
最近、といっても2月末あたりなのですが携帯をAndroidのものに変更しまして
常時ネットワークに繋がっているカイカンを楽しませていただいているのですが
携帯向けの画面だと全体を見ると文字が小さいし、拡大すると全体が見えないんですよね
インターフェースの拡大、縮小機能が秀逸なので、大きなストレスにはなっていないのですが
ここでやっと気が付いた。
あ、cssのメディアタイプ切り分け機能ゼンゼン役に立っていないジャン!
メディアタイプ、cssを使っている人だとおおよそみんな知っていると思うのですが
スタイルシートでデータを読み込む場合等に
@import "def/html-default-css2.css" screen, tv;
とすれば、特定のメディアタイプだけに表示の変更を行えますが
スマートフォンに適した形に、整形をするための切り分けがぜんぜん出来ていない・・・
というよりは、cssのメディアタイプという機能はCSSハックのときの道具に成り下がっている。
何故こんな事になっているのか? 原因を手繰っていくと最初のcssの設計に辿り着く。
最初のcssは普及はHTMLにcolorやsize属性でデザインを埋め込んでいくのを出来るだけうまくやめるという当時の問題を解決するだけの非常にシンプルな設計だった
その後、css2が出てきたときに、その仕様は音声出力や印刷関連まで仕様を盛り込んだ、実装するには非常に重いものになりました
このとき一緒に入ったのがメディアタイプによる読み込むシートの切り分けと言う機能ですが
既にcss2はどのベンダーにも実装する機能が多すぎる負担の大きいものになっていた。
通常のPCでも重いものを、携帯デバイスが処理できるかと言うとそんなはずはないわけで
cssはiPhoneクラスのスマートフォンの登場と、PCと同じブラウザの搭載で解決されるまでの間があったのですよ。
こうなると、PC向けのスタイルシートだけ解釈させていればスマートフォンでも見れるじゃないか、画面小さいのは操作法で解決してネ!
デザイナでは操作できない領域だし
という方向に作る側の頭も働く。
でもですね。現実的には使っていて次の様な問題が発生するんですよ
- 単純に重い!Xperiaでも1GHz程度のCPUしかないのに、css3を使用したサイトを処理させようとするのはおかしい。他のプロセスを動かせたはずの領域を無駄遣いしている
- フルFlashやSilverLightを使ったサイトを大抵処理できないし、そこは振り分けるのが自然な解答
- PC向けのディスプレイ向けの設計をスマートフォンの小さい画面でみると平気ではみ出る
結局のところ、スマートフォン向けにページを作ったり、ページを切り分けたりする必要が出てくる
CMSなら、User-Agent情報から判別して切り分けることも出来ますが、全てのサイトがシステム化する現実は私には想像できない
現実的には読み込むスタイルシートをブラウザ側が選択するcssのメディアタイプが一番現実的です
なのでスマートフォンならスマートフォン向けに適したスタイルシートを読み込むような
使われるような形でのメディアタイプの見直しが必要なのではないかなと感じます
投稿者 baban 2010/05/30 at 00:13