忙しい現場で時に「結果オーライ」のコードを時間や手間と見合わせてついつい書いてしまう自分を戒めるためでもあるし、そもそもそういうことばかりやって いると(たとえ今現在のブラウザの実装では正しく表現されないのであっても)仕様が示した理想はなんだったかを本当に忘れてしまうこともあるので、常に記 憶を新たにしておくためでもある。
それにしても、読むたびにちょっと哀しくなる。
この本はすでに2年以上前の本だ。しかしいまだに「現実には使えない」ものが沢山ある。言うまでもないがInternet Explorer6が世の中から一向に消えてくれないからだ。
最近一部で話題が盛り上がっているtext-shadowやマルチコラムなどを「どうしても使いたい」とは思わない。自分の個人サイトなら実験的に導入し てみるのも楽しいと思うが、少なくとも仕事では使わない。実装されているブラウザが少ないからではなく、それは単に見栄えのためのものだからだ。(マルチ コラムが完全に見栄えだけのものと言い切っていいかどうかは微妙なところだが、どちらかといえばより見栄え寄りだと私は思っている)。
現実には使えなくて残念だと思うのは、たとえば子コンビネータ(child combinator:例:h1 > em)や、隣接コンビネータ(adjacent-sibling combinator:例:h1 + p)だ。
これらはHTMLの構造を厳密に指し示してなんらかの指定をするためのものであり、使えればcssを非常にシンプルで厳密に出来る場合が多い。でも Internet Explorer6では使えないので、いまだにそのシェアが大きい現状ではあきらめざるを得ない。Internet Explorer7では対応したが、まだシェアが小さい。
Firefoxの記事などが多いせいで閲覧者のブラウザシェアがかなり偏ったの私のサイトでも、FirefoxとOperaとSafariを合わせても全体の50%にぎりぎり達しない。言うまでもなくこの割合は、一般的なサイトを作るときの参考にはまったくならない。
もちろん仕様は仕様でしかない。今Internet Explorer6がシェアの大半を占めているという現実が私が相手にすべきものでそれ以外のものを相手に望んでも仕方がない。
それでも不自然なまでにシェアが大きな一企業がひょっとしたら実現できたかもしれない未来を数年間分滞らせたのは事実で、これは世界中のそれぞれ(正当に)思惑が異なる国家の関係が何か理想的な状態を阻んでいるという現実とはいささか話が違う。
私は『CSS完全ガイド』を読み返してはため息をつく。何度も何度も読み返しては、何度も何度も、ため息をつく。