CSSの現状とIE8

エ・ビスコム・テック・ラボ
2009-04-06 16:18:01
  • このエントリーをはてなブックマークに追加

 「IE8のCSS対応」の第1回「IE8が対応したCSSと標準規格(旧題:IE8が対応した標準規格:CSS 2.1は一通りサポート、CSS 3は残念……)」は、builder編集部がつけたタイトルやリード文によってずいぶんとCSS 3がクローズアップされてしまい、本来考えていた原稿とはニュアンスの異なる刺激的な記事になってしまったのには驚いた。

 しかし、IE8がCSSに関して非常に重要な鍵をにぎっているブラウザであることは事実。ここでCSSの現状も含めてまとめておきたい。

 今回、IE8が一通りサポートしたCSS 2.1は、2007年7月に出された勧告候補が最新版となっている。

 勧告候補は最終的な勧告ではなく、ここから勧告案を経て勧告となる。勧告候補は問題があれば草案に差し戻されることもあり、実際にCSS 2.1は一度草案に差し戻され、再び勧告候補としてリリースされた。

勧告がリリースされるまでの主な流れ

  • Working Draft (草案)

 ↓

  • Last Call Working Draft (最終草案)

 ↓

  • Candidate Recommendation (勧告候補)

 ↓

  • Proposed Recommendation (勧告案)

 ↓

  • Recommendation (勧告)

 現在、勧告としてリリースされている規格にはCSS 2が存在するが、CSS 2はW3Cの策定プロセスに「勧告候補」という段階のない時代にリリースされた。多くのエラーを含んでいることから、W3CはCSS 2.1をCSSの標準規格として利用することを推奨している。

 2008年4月にはCSS 1とCSS 2の勧告書に注釈が追加され、CSS 2.1を参照することが推奨されるようにもなった。

 なお、CSS 2.1がいつまでも勧告候補のままなのは、勧告案となるためにはCSS 2.1の機能をすべて実装したブラウザなどが少なくとも2つ必要とされていることと、各機能の動作をチェックできるテスト(Test Suite)を用意する必要があるためではないかと言われている。

 Acid2 TestはCSS 2.1の機能をすべて網羅したものではないので、これによってCSS 2.1を完全にサポートしたと言うことはできない。また、W3Cが作成しているCSS 2.1のTest Suiteは、まだプレ・アルファ版の段階で完成までの道のりは長く、現状ではブラウザがCSS 2.1を完全にサポートしているかどうかを確認するすべがない。

 今回はIE8のリリースに伴いMicrosoftが多くのテストをW3Cに提供したことで、CSS 2.1の策定作業が大幅に進むことが期待されている。

 これに対して、CSS 3はスタイルシートを機能別にモジュール化し、モジュールごとに標準化の作業が進められている。現在、30種類以上のモジュールが審議中で、CSS Current Workにあるように、その多くは草案だが、一部は勧告候補になっている。

 また、最終草案(Last Call)となっているモジュールの多くは、実装の進まなかった機能を削除したり、新しい機能を追加するといった理由で勧告候補から草案に差し戻されたものだ。「CSS Color」のように次のリリースでは勧告候補を飛ばして勧告案となることが検討されているものもあり、モジュールによっては勧告案や勧告となるのがCSS 2.1よりも早いのではないかと言われている。このあたりはモジュール化のメリットが生きてきた部分だろう。

 しかし、モジュール化によってCSSの規格としてはわかりにくくなり、実装が進まないという問題も出てきた。そのため、W3Cでは「Cascading Style Sheets (CSS) Snapshot 2007」という草案をリリースした。

 この草案の中では次のCSSの標準規格として、現状のCSS 2.1にCSS 3の安定した規格を重ねていくことを提案している。CSS 3の中で、現在、安定した規格として提示されているのは以下の3つの規格で、CSS 2.1の当該箇所に置き換わるものになる。

 「Snapshot 2007」はまだ草案の段階だが、Firefoxなどのブラウザは先行してこれらの実装を進めている。また、上の3つの規格についてはテスト(Test Suite)の作成もCandidate RecommendationやBetaの段階になっており、勧告リリースに向けた作業はCSS 2.1よりも早いペースで進んでいる。

 こうした現状から、これまでと同じようにIEが数年に1回しかアップデートしないのだとすれば、いずれCSS 3の実用化の足をひっぱり、残念なことになるかもしれない。

 ただし、IE8は新規にCSS 3に対応することはないとしながらも、box-sizingプロパティはサポートした。しかも、ベータ版では「-ms-」というプレフィクスが必要だったにもかかわらず、正式版ではこれを付与せず記述するようになっている。

 標準規格に準拠しながら古いブラウザでのレイアウト崩れを防ぐことができるbox-sizingをピンポイントで実装したことは興味深い。

 また、IE8のリリース直前に開催されたSXSW Interactive 2009というイベントでは、IE8におけるCSS 3でユーザーからの要望や優先度が高いものとしてセレクタや色、背景などをあげており、サポートを意識していることが伺える

 こうしたIE8とCSS 3との距離感にはMicrosoftの思惑が見え隠れする。IE8の登場はこれまで停滞していたCSSを大きく動かすことになるかもしれない。このあたりは別稿でまとめる予定である。

ひとまず次回は、IE8が修正したCSSのバグについてまとめていきたい。

  • コメント(1件)
#1 anonymous   2009-04-07 10:00:53
Acid3で100点満点を獲得したWebkitは、HTML5実装にも積極的ですが、
IEの影響の及ばない場所=モバイルプラットフォームで勢力を拡大してますね。
IE8でもサポートは結局それほど期待出来ないPCの現状を考えると、
むしろWeb技術が飛躍的に向上するのはIEに依存しないモバイルウェブアプリの方でしょう。

最近のローカル対応モバイルGmailでも、Webkitを標準採用してるから可能になった。
iPhoneもAndroidもPlamもNokiaもスマートフォンではWebkitを標準採用し始めている。
IEがシェアの大半を握っている限りHTML5もCSS3も使い物にならないPCとは違う。
  • 新着記事
  • 特集
  • ブログ