2008年5月9日 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標準仕様に準拠しようと動いている今、基盤となる仕組みを固めるには絶好のタイミングです。

メールニュース登録

メールニュースでは、本サイトの更新情報や業界動向などをお伝えしています。ぜひご購読ください。