妥当でないCSSとWeb標準

CSSの書式は、もともとエラーが混入することを許容する仕様になっています。それはCSS2の仕様で構文解析エラー処理のための規則(原文)が定められていることからも分かることで、CSS仕様に従うブラウザは、誤まった記述をどの程度の範囲で無視すべきかについても正しく従う必要があります。

なので、CSSに多少のエラーが入っていても、利用者は、ブラウザが正しく処理してそれを無視することを期待することができるものと思います。

そしてここに、いわゆるCSS Hackが有用となる余地があると思います。つまり、あるCSS記述について、

の両者が一致するのであれば、将来新たなブラウザが出現したためにそのCSS記述で問題が発生する可能性はかなり抑えられると思うのです。なぜならば将来出現するブラウザはより理想に近い(標準仕様への適合性が高い)ものになると期待できるので。

CSSが妥当であることに固執するあまり、CSSの持つ表現力が十分に発揮できないという状況は、誰にとっても望まれるものではないと思います。適切なCSS Hackを利用することによりスタイルの表現力が高まり、かつ将来に渡って利用可能なCSSとなり得るのであれば、そちらの方がCSSというWeb標準技術の普及には有用のような気がします。

* * *

おさんぽさんぽの5月24日分より。

私自身はCSSハックはバッドノウハウの一種でしかないと考えていて、こうやってブラウザのバージョンがアップすることで通用しないものも出てくる訳で。Web標準と言いながら、CSSハック使いまくっていた連中にはいい薬だとは思う。

CSS Hackがバッドノウハウというのは同意ですが、新しいブラウザの出現がCSS Hack利用者のいい薬になるかといえば、多分そうはならないような。理想的なブラウザが出現するその日まで、CSS Hackは仕様と現実の実装の差を埋める有効な手段として、今後も利用されていくとものと予想します。

* * *

CSS Hackについて考える上で、個人的に徒委記で訳してみた文書を参考のため挙げてみます。(もしよければ訳文を改善して頂けると有難いです)

自分は過去User-Agent名による振り分けとCSS Hack両方を試してみて、今のところ「よいCSS Hackを使用する方が有効」という考えに至っています。今後考えが変わる可能性もありますが。