日々適当にIT技術とか関係無いこととかをつらつらと。

「構造と表現の衝突」という問題@Blogoscopeへの反応記事。

なるほど、大げさな話、例えば本文がタイトルだけで、あとはすべて:before、:after疑似要素で塗り替えてしまうことも可能なわけだ。(おっと、これではCSS2対応ブラウザ向けの、新たな検索エンジンスパムだ)

ここに書かれている問題は、幾つかの問題に分割できるのではないかと思う。


div、span は「どの程度なら」使える?

div 要素や span 要素の濫用、class セレクタや id セレクタの濫用だが、私も確かに、その辺りの違和感は拭い去れない。現状、見栄えのためにこれらの要素や属性をある程度追加していくことは、どうやっても避けられないことだからだ。

仮にこの辺りの要素を全く使わないとしたら、そんなサイトのデザインは、かなり旧態依然としたチープなものになる。ブログでマルチカラムを実現することすら不可能だ!

ただし、「ある程度」であって、それ以上ではない。本当に「乱用」というレベルの、例えば、 h2 要素を更に div 要素で囲ってみたり、address 要素の内容を更に span 要素で囲ってみたりといった、自分のCSSレベルの低さを補完するだけのためのものは避けるべきだ。
実はこれも、「べきだ」という域であって、「表現用の要素」という点においては、先のマルチカラム用に div 要素を追加することと五十歩百歩なのだ。

ナビゲーションって何要素?

さて、ここでなぜ「print 向けはまあよいと」されているのだろうか。ページ内のコンテンツの一環として表示されている、いわゆるナビゲーション要素を、印刷時には削除するという意味ではないかと思う。ナビゲーション要素はそもそもページの内容なのか、そうでないのかという部分に矛盾がある。

また、グローバルナビゲーションをインライン化する手法だが、構造的に「それっぽいから」そうしているに過ぎない。この種の矛盾は、(X)HTML 自身の表現の少なさに一つ、原因があると考える。例えば、よくリンクとその説明を定義語リストとしてまとめるが、リンクは定義語ではない。

役に立たない media

例えばスクリーンリーダーは、確か現在でも他のブラウザが表示したものを読み上げていく形態だったように思う。"media=screen"で表示されたものを、"media=aural"のはずのものが読み上げているわけだ。これではmediaの指定の意味がない。

コメント

ありがとうございました
直接的な関連はありませんけれど、最近、CLIE(Palm互換機)搭載のNetFrontでは、title属性を表示する手だてがないと、ユーザより訴えられました。試験的に、UAがNetFrontを名乗る場合のみ、CGIでtitle属性を本文に書き出す様に某所で実験しています。これもいかにも「いさぎ悪く」、場当たりな手法ですし、自分で納得しきれてはいないのですけれどね。

パソコンのブラウザはまだアップデートが期待できますが、組み込みだとそうもいかない様で、かといって切り捨てるわけにもいかず。難しいところです。- by su date 2005年01月31日
そうなんですよねー
こんばんは、益子です。リアクションエントリー、ありがとうございました。

ばあどさんの私の意見に関する解釈で、私自身も頭の整理ができました。

> ブログでマルチカラムを実現することは不可能だ!

この点については、ADPさん(下記URI)がdiv要素を全く使わずにマルチカラムを実現している例をあげておきます。
http://adp.daa.jp/~~
ちょっと無理からっぽい部分もあるのですが(まずdiv要素の非使用ありき)、参考になると思います。

やはりというか、dd要素を上手く使ってらっしゃるんですけどね。

> いわゆるナビゲーション要素を、印刷時には削除するという意味ではないかと思う

そのとおりです。あとは、タイトルロゴなども当てはまりますね。印刷する必要のないすべてのパーツという感じです。

> リンクは定義語ではない

これは「リンクのみでは定義語とは言えない」ということですよね。リンク先に関する何らかの説明があったり、W3Cの仕様書のように参考文献リスト風にしないと、と。by 益子 date 2005年01月31日
微妙な問題ですね
僕の中では、何故divを使うのかって言うと、文書内の構造をグルーピングするためで、もちろん見栄えにおいてもそれを反映させたデザインであれば良いのかなと勝手に思ってたりします。まぁ、自分はCSSレベル低いんで(笑)、CSSハック等を使わずにある程度のクロスブラウザを実現しようとすると、無駄なdivを使ってしまうのですが。by e-luck date 2005年01月31日
コメント、有り難うございます
>su さん

>NetFrontでは、title属性を表示する手だてがないと、ユーザより訴えられました。
なるほどー。組み込み系は、組み込み系なりの問題があるのですね。
有益な情報を有り難うございます。

>益子 さん

>この点については、ADPさん(下記URI)がdiv要素を全く使わずにマルチカラムを実現している例をあげておきます。
>http://adp.daa.jp/~~うはぁ、たまにリファラを送ってくれてますが、ここってそんなでしたか。
でも、なんというか、使い方を間違えているっぽい感じが(汗

>これは「リンクのみでは定義語とは言えない」ということですよね。
ですです。言葉足らずですみません。by ばあど date 2005年01月31日
タグ

このページへのコメント

4GJQY3 Wow, great blog article.Really looking forward to read more. Awesome.

0
Posted by awesome things! 2014年01月20日(月) 18:48:30 返信

9EaMdu Thanks for the article.Much thanks again.

0
Posted by watch for this 2013年12月20日(金) 03:34:25 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

×

この広告は60日間更新がないwikiに表示されております。

フリーエリア

編集にはIDが必要です