もう寝ようと思ったんですが、せっかくリンクしていただいたので自分の考えを書いてみます。
要約:シンプルなマークアップを元に各ブラウザの実装レベルに応じて、様々なスタイリングをしていく方が楽だし、いろんな閲覧者が幸せになれるんじゃないかなと思った次第
賛成の部分ともうちょっと突っ込みたいところが入り交じっているので少しずつコメントします。
ブラウザごとの差はレベルによって妥協してもいいと思う
まず、Liner Noteさんのエントリーの主題っぽいところなんですが、
このように必ずしも全てのブラウザに同じスタイリングを提供する必要はないだろうし、
ここは基本的に賛成です。ブラウザによる見え方の差が軽微である場合、それを解消するために時間をかけてごにょごにょするよりは、簡単にできる代替手段を使った方がいいと思います(もしあるなら)。上記エントリーでは引用部分がIE6だけ点線で囲まれたようなデザインになるそうですが、その程度は見逃してもOKなレベルだと個人的には思います。
ただ、「プロ」の仕事となるとそうもいかない場合もあると思います。
ブラウザごとのデザイン違いによって閲覧者によってそのサイト(や記事)に対する印象が変わってしまうと、主にブランディングの面で良くないです。まあ、そこまで印象が変わるほどの差異が出る事なんてそんなに無いでしょうし、同じ見た目でも閲覧者ごとの印象なんて違って当然なんですけどね。
ただ、仕事を発注する側からみれば「できる限りたくさんの環境で同じ見た目にしたい」が正直なところでしょうし、なんとなくそうした方が良い様に思います。
なので、
むしろCSSの実装レベルに応じて(実装レベルが低いものはそれなりに、高いものはそれを活かして)積極的に見せ方を変えていってもよいのではないでしょうか。
「積極的に見せ方を変え」なくてもいいんじゃないかなぁと思います。もちろん、最新の実装を使って明らかな改善が見込めて、それをやる余裕がある場合はやるべきでしょうし、ケースバイケースになっちゃいますけど。あと、技術者としてはそういったチャレンジングな最新技術は追って行きたい方向ですが。
CSSでもXHTMLでもJavaScriptでもいいじゃないか
このエントリーには、もう一つ題材があるような気がします。
それは、実際にブラウザごとの実装レベルの差を埋める時にどう対応するか。
空要素を意識して作ったり、妙な制限に縛られたりするよりも、実装レベルに応じたスタイリングをする方が後方互換性に必要以上に引きづられることもないですし、何より楽だと思うのですがどうですかね。
なにが楽かは人によって違うと思うんですよね。空要素とか妙な制限はできるだけ無い方がいいですけど、CSSが苦手な人は補正CSSをつけたり、CSSハックしたりするよりマークアップ側で対応したり、JavaScriptでごにょごにょしたりした方がよっぽど楽かもしれませんし。なので、
僕はちょっと修正CSSを書いた方が変なマークアップ繰り返すより楽かなと思ったんですよね。まぁ、提案であって押しつける気はないんでまた機会があったら考えてみてください。
Liner Noteの人も言っていますが、まず自分が楽な方法を選択すれば良いと思います。
また、チームでやっている場合はこの辺できる限りルール化しておいた方がいいです。
何度もいいますが、人には得意不得意や好みがあるのでメンテナーが複数人の場合はその後の作業効率に多大な影響を与える可能性もあるのでご注意を。
ご指摘ありがとうございます。
書いていると、少し何かに偏った話し方になることがあってうまく相対化できていない感じになることがあるので、こうやって言っていただけるのは助かります(積極的に、というのは確かに言い過ぎた感じがします)
2つめの題材について、実際ビジネスケースではメンバーの「楽さ」の共通項を取っていくと、不自然なマークアップが最適解だという局面もあるのでしょうね。そこはまぁ、UAの実装レベルが底上げされるまでの過渡的な落としどころかなという風に了解しています。
>levaさん
コメントありがとうございます。
levaさんのエントリー、個人的にはほとんど納得の内容だったんですが、読む人によっては受け取り方が変わるかなぁと思ったので書かせて頂きました。別に反論するつもりだったわけでは無いので気を悪くされていたら申し訳ないです。
今回のような内容は共通の「正解」がないのが難しいですね。
仕事の場合、まずお客さんとの利害が一致しないといけないし、加えてメンバー内(というか社内)の共有化ができていないといけないし。マークアップにしろCSSにしろ、一番自然な形にするには要件や仕様やデザインを変えるのが一番手っ取り早いってケースが結構あるような気がします・・・