CSSハックの使いどころ
CSSハックの使いどころについて、ご質問をいただきました。
IEBlogよりIE7においては、CSSハックの一掃をうったえていますが、一般的な制作会社などでは、どのくらいCSSハックを使用しているのでしょうか?
またCSSハックを使う、使わないの判断の基準などはどのように なっているのでしょうか?
個人的にはなるべくハックは使いたくないのですが、ボックスモデルハックなどは便利なので、つい使ってしまいます。
一般的な制作会社などでは、どのくらい
とのご質問については、統計をとったことがありませんし、そのような定量調査を行うこと自体極めて困難ではないかと思います。単純に使ったことがあるか否かという問いであれば、大多数の制作会社がYESと答えるのではないかと思いますが、それは筆者個人の推測に過ぎません。ですから、弊社のWeb標準準拠サービスにおける考え方のご紹介をもって、お返事とさせていただきます。
まず(X)HTML文書については、DOCTYPEスイッチを備える視覚系ブラウザに対し原則「Web標準準拠モード」でレンダリングされるようDOCTYPE宣言を記述し、かつ文法的に妥当(valid)なマークアップを行います。そのうえで、スタイルシートの作成に際しては、以下の方針を採用しています。
- CSSハックは極力使わないようにします。
- CSSハックを使用せざるを得ない場合には、可能な限り耐久性のあるハックを採用します。
- どのようなハックを使用したかは、納品物のひとつである「Web標準準拠ルールセット」のなかですべて明記します。
耐久性のあるハックとは、CSSの仕様に違反せず、またハックを必要としない(Web標準に良好に準拠した)ブラウザへの影響が無いものを指します。耐久性のあるハックを用いることにより、たとえばIE7について言われているようなブラウザの進歩に伴って、スタイルシートを更新(あるいは修正)する必要性や手間を、最小限に止めることが可能になります。耐久性の無いハックを使う場合については、「Web標準準拠ルールセット」と呼んでいる文書で影響範囲をあらかじめ明記しておくことにより、将来の対応における負荷を少しでも下げるよう配慮しています。
使う、使わないの判断の基準
については、上記にもありますように、できるだけ使わないよう配慮しつつも、しかし絶対的に禁止としているわけではありません。screenおよびprintメディアについて、視覚表現のサポート対象に含めているブラウザ(これは案件個別に異なります)で、可能な限りデザイナーが意図した通りのビジュアルデザインがレンダリングされることを期待するべく、その目的達成の範疇においては「ハックの使用も止む無し」としています。
もちろん、案件によっては全くCSSハックを必要としないケースもあり得るでしょう。しかしIEを含め多くのブラウザが、いまだWeb標準の完全サポートを目指してバージョンアップを重ね続けている過渡期の現状を鑑みれば、そのようなケースはまだ稀ではないか思います。
コメント
> 原則「Web標準準拠モード」でレンダリングされるようDTDを記述し
「DOCTYPE 宣言」の事でしょうか?
ありみかさとみさま、コメントありがとうございます。ご指摘の件、仰るとおりであり、DTDはDOCTYPE宣言の誤記でした。本文のほうを修正させていただきます、ご指摘ありがとうございました。