2008年12月現在のCSSに関する状況をまとめときます。
2007年7月に2度目のCRに突入して以降、仕様書的に音沙汰のないCSS 2.1ですが、裏では着々とissueの解決や実装が進められています。
CRというステータス上実装がないと進まないわけですが、加えて細かいところについてWGでつめる必要があるので、さらにゆったりです。実装もAcid2以降、がんばって対応というのはあまり行っていない気がしますし。
ただ、ここにきてIE8がCSS 2.1への準拠に向け頑張っているため、少し動きが加速しつつあります。仕様で定められてない(または不明瞭な)ものについて質問したり、大量のテストケースを寄贈したりとか、よく分からない本気を出しています。テストケースは3000を超えているので、CR脱出に必要な「テストケースの作成と検証」というステップにかなり貢献しているものと思われます。
今後のスケジュールですが、issueを全てクローズし、テストケースや実装が出るのを待ってから、LC→PR→RECになると思われます。たださっきもいったとおり、CRは実装状況にとても依存するステップなので、もしかしたら間にもう一度CRが入るかもしれません。三度目の正直となることを願いたいものです。
CSS3の中で、今一番進んでいるのがCSS NamespacesとCSS3 Colorでしょう。すでに2つ以上の実装が存在しており、CSS 2.1への依存がなければCSS 2.1よりも先に勧告されるはずです。
Colorについては、rgba()やhsla()がOpera 10 Alpha(Presto 2.2)でサポートされているようなので、そろそろ試してみるのも面白いかも。
次はSelectors Level 3でしょうか。::selectionなど、テストケースが作りにくいものはわかりませんが、それ以外は実装状況がよさげです。遅れ気味だったGeckoについても1.9.1でかなり高水準になりました。
:nth-childが注目されやすいですが、:*-of-typeの方がどちらかというと使われる気がしています。
Media Queriesも進んでいる方です。Prestoについては早くから対応していましたし、WebKitもiPhoneのおかげか実装されています。GeckoについてはSelectorsと同じく1.9.1からの対応となるようです。
仕様の進み具合としては二度目のLCとなっています。定義されているmedia featureの幅が広いため、早期の勧告になるのかはちょっと分かりません。ただ、width/heightやdevice-width/heightなど、広く使われるであろう物については一通りサポートされているので、仕様の状況をあまり考えないでも良いように思います。iPhone系だと結構使われていますし。
CSS3 Backgrounds and BordersやCSS3 module: Multi-column layoutについては、試験的な実装が続いている状態です。border-radiusの構文が変わるなど、たまに大きな変更もあります。
overflow系から分離され、CSS3 Marqueeという単体のモジュールになりました。CSS MPとの絡みです。AppleによるCSS Effectsですが、CSS WGに移管して進むような方向っぽいです。Transforms (2D)に関してはすでにMozillaも実装に動いています。SVGの資産を使えるというのが大きいようです。
CSS Variablesについては、こちらもCSS WGに移管されるはずです。構文を定義することからスタートしなければならないので、現在そこまで大きな動きはありません。Interoperabilityが損なわれるのを防ぐため、WebKitでは無効にされているようです。
CSS1とCSS 2.0の仕様書それぞれに、「この仕様書はメンテされてないからCSS 2.1見ろ」といった注意書きがつけられました。
日本語訳はCSS 2.0しかないので、ちょっと気になるところです。訳はありませんが、CSS 2.1のエッセンス(転載版)や、セオリー・オブ・スタイルシートなどで触れられている部分もあるので、参考になるかと思います。
xhtml |
2008年12月現在のXHTMLに関する状況をまとめときます。
XHTML Media TypesはSecond Editionが進行中です。XHTML 1.0にあったCompatibility Guidelinesがこちらに移管され、それに沿った上で他のNamespaceから要素や属性を持ってくるもの(XHTML+MathML)ではない文書については、text/htmlを使う場合があるとされました。また、「XML宣言を書かないように」など、ガイドラインにも手が入っています。
IEが8でもapplication/xhtml+xmlに対応しないことや、invalidなものがほとんどであるXHTML崩れが多い中、「互換性」の再定義を行ったという感じでしょうか。
ただ、「text/htmlを使う場合もある」というのは「XMLエラーを直す必要がない」ということではないです。そう思ってる人は滅びればいいのに。
なお、XML的機能を使うことがなければ、HTML 4.01を使うことも検討してはという促しもあります。「とりあえずXHTML」なんていうスタンスではなく、何が自分にとって、そしてユーザーにとって大事なのかを考え、フォーマットを選択する必要があるのではないかと考えます。
XHTML 1.0については、XHTML Media TypesにCompat. Guidelinesを移したため、それを省いたThird Editionが計画中です。
現時点でErrataがないので、「これErrataだろ」ってのがあれば早めにwww-html-editorに投げるといいかもしれません。
XHTML 1.1はXHTML Modularization 1.1が出たこともあり、Second Editionに向けて動いています。Errataの修正と、M12nの対応によるXML Schemaのサポートのみが変更点です。target属性なんかは入りません。
XHTML 1.1 2eで何も追加されないのは、PERに持って行くことで勧告に手間をかけないことが目的とされたからです。ただ新しい機能を追加することについても検討はしていて、XHTML 1.2が計画されています。現在のところ、role属性やtarget属性、access要素、RDFa、WAI-ARIAなどなどを検討中です(ARIAとaccessについてはat risk)。全部入りってやつですかね。
M12n 1.1やBasic 1.1がOMAとの絡みで優先されたため、何も動きがなかったXHTML 2.0ですが、それらが一段落したのでスケジュールの引き直しが行われました。LCが2009年3月で、CRは2009年6月だそうです。そうですか。。
CURIEとroleはそろそろCRになるようです。roleはARIAでも使われるので期待ですが、CURIEとかXML的な解釈をしてくれるのかが気になるところです。
M12n 1.1が勧告されたので、それより前に勧告されちゃったBasic 1.1やRDFaの更新が予定されています。ちょっとはタイミングあわせろよと思います。
あ、Basic 1.1はXHTML Basic 1.0とXHTML MPの統合版です。統合の結果XFormsにあったinputmode属性が組み込まれました。ただこれはM12nに逆行してるんじゃとも思います。
ブラウザーの実装については、特に何も進んでいないようです。語彙定義がほとんどなのと、XML傘下という性質上、放っておかれているのかなあと。HTML5にも当てはまるのですが、APIの必要ない要素については、スタイルシートを使えば表現できるので後回しということなのかも。