CSS2の10年
フロントエンド・エンジニア 矢倉 眞隆2008年5月12日に、CSS Level 2は勧告から10年を迎えます。今回は、現在も策定中の改訂版であるCSS 2.1について、その目的と背景を、また進行中のCSS3や、これからのCSSワーキンググループの活動についても簡単に触れてみようと思います。
CSS Level 2の登場
CSS2は、1996年12月に勧告されたCSS Level 1の上位レベルです。CSS1では色や背景、そのほかの簡単なレイアウト機能のみが提供されていました。CSS2はCSS1の機能に加え、さらに充実したレイアウト表現や、既存のプロパティの拡張が行われました。また、画面表示用のスタイルだけではなく、印刷用やプロジェクタ用など、多様なデバイスも考慮した設計となっています。
CSS2は数回の草案を経て10年前にW3C勧告となり、今日も「一番新しいCSS勧告」となっています(以降、98年に勧告された仕様をCSS 2.0と表記します)。
CSS 2.0の問題
しかしながら、現在のW3C勧告と、10年前のW3C勧告は同じものではありません。10年前のW3C仕様策定プロセスには、実装からのフィードバックを受け、仕様に反映する仕組みが用意されていませんでした。このため、実装者が難しいと考えている機能を搭載することができず、結果として「標準に準拠していない」部分が存在する結果となってしまいました。
また、10年前はいわゆる「ブラウザ戦争」の真っただ中であり、独自拡張によるシェアの獲得にベンダーがやっきになっていた時代です。CSS1の多くはサポートされていましたが、まだまだ新しい仕組みに懐疑的なベンダーもあり、CSS 2.0の実装はあまり進みませんでした(このころは標準準拠の意義や重要性も薄かったのです)。さらに、仕様書に書かれている実装指針においても曖昧な部分が多く、CSS2準拠を目指すブラウザ同士で、一部の解釈が異なってしまうという問題が発生しました。
Web標準を考えるときに、「相互運用性(異なる実装も同じように動作すること)」はとても重要な概念です。またCSS2は、その上位レベルであるCSS3の基盤ともなる仕様であるため、CSSワーキンググループはCSS 2.0の修正版を出すことを決めたのです。
CSS 2.1のあゆみ
CSS 2.1仕様書には、CSS2.0とのかかわりが次のように記されています。
- 広く利用されているCSS 2.0の互換性に関する問題について、メンテナンスを行う
- CSS 2.0のエラーを修正する
- 実装が仕様とかけ離れている場合、現在受け入れられている慣習と一致させるよう仕様を変更する
- CSS 2.0の機能のうち、実装されていないものを削除する
- CSS 2.0の機能のうち、CSS3により非推奨となるものを削除し、該当するCSS3のモジュールを推奨する
- CSS 2.0の実装において必要とわかった、いくつかの新しいプロパティ値を追加する
仕様自体を改訂しながら、また一方で実装からのフィードバックを反映するというのは、時間のかかる作業です。このためCSS 2.1は、7年という時間を経てもなお、勧告候補という状態にとどまっています。しかしながら、CSS WGはCSS 2.1が最終段階にはあると考えており、今後大きな仕様の変更はないとみてよいでしょう。
CSS 2.1は今日のCSS仕様
CSS 2.1は勧告ではありませんが、実装が仕様に反映されていることにより、現在使われているCSS仕様はCSS 2.1をあらわすといってもいいでしょう。昨年CSS WGが公開した「CSS Snapshot 2007」では、CSS 2.1がCSS 2.0を上書きするものとして紹介されています。
また今後、CSS 2.0やCSS 1の仕様書に「この仕様はメンテナンスがなされておらず、現在はCSS 2.1でその修正を行っています」という旨を追記するようなことも示唆されています。
CSS 2.1は最終段階には来ていますし、来年公開予定のInternet Explorer 8もCSS 2.1に準拠するとしています。現在CSS 2.0の仕様書を参考にデザインをされている方は、CSS 2.1仕様書を読むことをおすすめします。
CSS3
さて、CSS 2.1を策定する一方で、これからのCSS仕様、CSS Level 3についても策定が進められています。CSS3はCSS 2.1で定義されている項目を機能ごとにモジュールとして分割したうえで、新たな機能などを追加しています。草案段階にありながら先行実装が始まっているモジュールもあれば、もうすでに実装がほぼ完了し、十分なフィードバックが与えられたモジュールも存在しています。このため場合によっては、CSS 2.1よりも早く勧告されるモジュールもあるかもしれません。
CSSワーキンググループのこれから
さて、CSS WGは今年8月に、新しい憲章とともに再スタートします。活動内容の中心は引き続きCSS 2.1の作業になると考えられます。早めの勧告に期待したいところです。
そのほかは、実装の進んでいるCSS3モジュールの勧告、草案の刷新や公開など、いつもと変わらないといえば変わらない内容にはなるでしょう。しかしながら、各ブラウザベンダーが相互運用性を重視し、CSS仕様やそのほかのWeb標準仕様に準拠しようと動いている今、基盤となる仕組みを固めるには絶好のタイミングです。
Newsletter
メールニュースでは、本サイトの更新情報や業界動向などをお伝えしています。ぜひご購読ください。