アカウント名:
パスワード:
「単純にW3Cの勧告している文法に準拠にするだけ」なのなら、もったいないなぁ。コストは殆ど変わらないのに出来上がるものには違いがある。
文書内の「ある文字列/ある部品の役割とは何か」に注目しなければ、W3Cの勧告に準拠したところで「ただ見える」だけです。HTMLがもつ付加的な恩恵はハイパーリンク以外受けようがありません。「意味を伝える」という機能を無視しています。それと同時に様々な環境で内容が明確に伝わる可能性を狭めています。
HTMLとは文書の構造を、もっと端的に言って文書の「ある部品の意味を示すこと」に一つの大きな特徴があるのです。それが欠けていると、HTMLとしては少し損をしているのではないかなぁ。
より多くの人に、より多くの環境で読めるようにでしょうか? それなら、IE第一に考えるのが当然でしょうし、
「より多くの環境で」という言葉の意味が、私と#540202のACさんとでは違うと思いますので、それについて触れておきましょう。
ACさんが意図している「より多くの環境で」は「シェアの量的に、より多くの環境で」だと思います。故に「IE第一に考える」と述べているのでしょう。 私が「より多くの環境で」と言う場合は、「より多種多様なプラットフォームで」という言葉と等価な意味で用いているつもりです。
古いブラウザのために、多少W3C標準から外れていた方が良い
それは1面の真かもしれません。しかし、それを実行することは正しく解釈する他のUserAgentに対する不親切を伴わねばいけません。──そうしなければ、製作者が伝えたい情報というのは伝わらないものなのでしょうか?
W3CとHTMLという仕様自体は後方互換性に随分配慮した形をとっています。もちろん元ACさんが意図したいのはレンダリングに関することなのでしょうが、レンダリングの差異で作者の大まかな意図が通じない文書であれば、再考の余地があるのではないでしょうか。
HTMLを成す思想の基幹には2つあると思います。一つはハイパーリンクによる文書相互間の関連付け。もう一つは意味の伝達です。この二つがそろって利便性があり、HTMLとしては本来想定した機能を果たしているのではいかと思います。(HTMLにおいては、伝達と表現とは同義ではないと考える。)
補足というか、頭に沸いてきたことをどこに返信したらよいかわからないのでここに書きます。
まず、我々の自然言語の文書を電子的に扱うことの弱点についてです。
電子的に文字を扱うことは、どうしてもレイアウト情報と文字を分離する形をとるか、文字情報とレイアウト情報を融合させて新しいフォーマットを用いるかを選択することとなります。前者を採ったのがプレーンテキストやHTMLで、後者を採ったのがPDFです。結果としてカジュアルに使われるようになったのはHTMLです。(後述)
我々の自然言語の文書は、少し色が使えなかったり、違うレイアウトで見えてしまったりするだけで、意図が通じなくなることがあるのです。例えば引用なんてのがそうなると思います。製作者はある文字列に特別な意味と区別を持たせたいのに、単なる文字列はその程度のことすら明確に伝えることはできません。
HTMLとPDFはそれぞれの特徴を生かしたアプローチでこれを解決しています。PDFはPostscript系のレイアウトを生成するための仕様ゆえに、あらゆる環境で同じレイアウトを再現しようとします。これによってDTP的に自然言語の文書とその意図を再現しています。
一方HTMLは、UserAgentで比較的容易に処理できるように決められたText形式のフォーマットで、処理を容易にするためにレンダリングなどをUserAgentに(悪く言えば)丸投げしています。そのため、予め意味を定めた記号を用いてレンダリング時(ユーザに伝える実装。音声などの場合もある)に参考になる意味を伝える方法で文書再現を支援しています。というより、文書再現を支援するための情報をUserAgentに伝えることこそがHTMLの目的なのだと思います。
ともかく、レンダリング情報をHTMLは保有しないわけですから、部品の意味を伝える以外に直接の再生支援をできませんし、それ以上のことは──画像レンダリングの高速化のためのサイズ指定などの良識ある便宜的な例外を除いて──してはならないと思います。
余談ですが、HTMLとPDFでなぜHTMLが多く使われるようなったかといえ、処理が容易で負荷が少ないからアプリケーションの製作が比較的容易で、実行環境でも割とストレスなく使用できるからでしょう。仮に負荷が変わらないのであれば、人間の感覚的に文書を再現しているPDFの方がユーザは好んで用いたかもしれません。
上記のようなことから、私はHTMLに求められているのは抽象性であると思っています。「HTMLは環境を限定しない。特定環境に合わせない。依存しない。」ということが求められていると思います。その性質上、特定環境に最適化すればHTMLとしては不十分になり、良くも悪くもどっちつかずがHTMLのスタンスであるべきだと思います。
いいこと言うね。hirokoたんにも聞かせてやりたいよ(w しかし、
レンダリングの差異で作者の大まかな意図が通じない文書であれば、再考の余地があるのではないでしょうか。
これは実際の問題として、作者なりクライアントなりが伝えたい意図は「文字」に限らないんだな。 例えばテーブルレイアウトで頑張って作った角丸の枠。原理主義者にはどうでもいいように見えるけど、制作側やページを見る人にとってはブランドイメージを担う重要な意匠だったりする。 文章だけでなく、ビジュアルも含めて構成される「雰囲気」のようなものが制作側の意図である場合、レンダリングの結果は非常に重要であり「全て」と言ってもいい。
もちろんHTMLはレイアウト記述言語ではない。 しかしそれでも客(クライアントも見る側も)はデザインを求めるのだな。そこでウェブデザイナは仕様と言う「制約」の中で時には裏をかきつつあれこれするわけだ。
そんな中で誰が「HTMLを成す思想の基幹」なんて知っていようか? 見た目志向の客に「HTMLにおいては、伝達と表現とは同義ではない」なんて言うのは、女性ファッション誌を求める人間に文藝春秋を勧めるようなもので解決になっていない。 IE以外のウェブブラウザを知らない、名前ぐらいは知っていても「Mozilla? Opera? それってパソコンの専門家が使うソフトでしょ」としか思っていない層にも「HTMLを成す思想の基幹」が浸透しない限り(あるいはHTMLに代わるレイアウト記述言語が普及しない限り)この論争はいつまでも続くんだろうよ。
要するに「どこかで折り合いつけるしかない」ってことなんだけど、どこに折り合いつけるかはサイトが誰を対象にしているか次第じゃないのかな。 例えばWindows初心者対象のサイトだったら、IE限定にしてでもビジュアル優先になるだろうし(Windows初心者はほぼIEしか使わないし、分かりやすい解説にビジュアルは不可欠)、盲導犬の活動を紹介するサイトなら見た目より音声読み上げにも対応できる記述を重視するだろうし。
そんな個々の事情を考慮せずに「HTMLの思想」を振りかざしたって、賛同してくれるのは原理主義者だけだよ。 原理主義者以外の人間にいかに賛同して貰えるか、も考えないといけないんじゃないの? やっとそう言う動きが具現化してきたんだし、つまんない重箱の隅つつきはそろそろやめにしない?
まず、振りかざしているわけではないんです。こういうものなんですって言いたいだけなんです。普通の人からすればHTMLなんぞレンダリング用の言語だと思ってるでしょうから。
文書を公開する側がどんな文書を公開しようが自由です。物理レイアウトでガチガチやってようが、W3Cの仕様に無理に従ってようが。ページが利用者を意識したものであるべきというのも、全くその通り。どこかで折り合いつけるしかないというのにも同意。
ただ、仕様に忠実であるべき、ユーザビリティであるべきという考え方は、クライアントの評価云々に優先されることは、ほぼありません。だから言うのです。仕様を優先しろとまでは言いませんが、表現したい内容について何か他の方法で代替できないものか、と。私がDIVやSPANまでも否定しているのなら、あなたの言うことは正しいけども。
見た目志向の客なら、その客に満足させる正当な手段を見つけるために足掻いてくださいと。そうしたら「現実は云々」はじまるんでしょうが…。 まあ、何が悪いといえばブラウザベンダの実装が拙いのが問題なわけですが^^;
HTMLは、文書を構成する要素の汎用的ないくつかをUserAgentに伝える役割を担っています。(見出し・段落・引用・強調など)。その点で、HTMLは便宜上汎用的な意味をもつもの以外を定めることができませんから、HTML単体は不完全なものといえるかもしれません。
また、HTMLの役割はUserAgentへの情報伝達です。人間への表現ではありません。この点がHTMLの不完全さであり、機能的利便性の追及の結果でありましょう。
HTMLによって伝えられた意味を人間に表現するための準備をするのはUserAgentの役割です。音声ブラウザには、音声による意味を表現するためのスタイル(~引用です。語調を強くなど。)視覚系ブラウザには、意味を表現するための視覚的スタイル(インデント・配色・文字サイズなど)です。
私は、文書製作者が本当に自分の文書に拘りをもって伝えたいという信念があるのならば、尽力すべきところはむしろHTMLなどではなく、直接ユーザに表現するための手段であると思います。即ち、UserAgentのレンダリングに茶々を入れることです。
HTMLが伝えられる意味には限界があります。定義されたものの意味しか伝えられません。(余談ですが、XMLで拡張定義したところでPublicな定義ではないため意味は共通に理解されないでしょう。)
しかし、利用者にはHTMLで定められている意味よりも、もっと微妙なニュアンスで表現したいと考える方も居られます。単なる強調にもたくさんの種類が必要だという人もいます。EMとSTRONGだけでは足りないと。──そのためのCSSなりユーザ定義のスタイルです。
過去、多くの人は「ユーザの意図を盛り込み、補完する機能」をHTMLに直接求めました。(そうする以外ユーザーがレンダリングに介入する手段がなかったからともいえる。)それが見栄えに即した物理的マークアップです。しかし、それは不完全で不可能で不可解な代物にしかなりません。
しかし、今はCSSなどがある。便宜上、HTMLの伝える内容には限界がある。それにユーザの意図を盛り込み、補完する機能があるとすればスタイルの定義です。
HTMLとUserAgentが協奏というと変ですが、HTMLとUserAgentが組み合わさらなければ、人間に情報は伝わらないのです。(ソースをテキストとして見るという人は除いて^^;)
もしも、理想の見た目で利用されたいのならばユーザスタイルに力を入れるべきです。かつ、それが再現されない場合にもHTMLの伝達する抽象的な意味で、大まかな意図が解釈できる範囲でスタイルを利用することを心がければ、「あらゆる環境で利用でき、かつ見栄えの良いページ」は実現できます。
余談ですが、デザイナが見栄えに拘るのは当然なことです。クライアントにはそれが評価の対象となります。どうしても、仕方なく使いたくない方法、よろしくない方法というのを採用しなければならないという場合があるのも知っています。
幸いか不幸かは知りませんが、今はまだ過渡期なのです。CSSを使えといってもあらゆるブラウザが正しく実装できてもいないし、CSS2だって完全とはいえない。混乱はいつ終わるともわかりません。しかし、その制約の中でも理想を求めることは必要なはずです。仕方ない──で切り捨てることになれるのは楽ですが、もう少し足掻いてみてもらいたいのです。クリエイターとして。
妥協の必要性と理想の追求。両者を天秤にかけるのは辛いことだし面倒なことです。でも、もう少し頑張ってほしいなぁと思うのです。
ディスプレイに表示されているWebページはHTML文書とUserAgentのスタイルシートとの融合物であるということを考えていただきたい。見栄えはUserAgentが用いるスタイルシートによるものであるから、見栄えを制御したい方々は対象が間違いであろう。(この場合のスタイルシートはCSSのみならず広義のスタイルシート)
仮に見栄え制御こそが重要であるということを真としても、論理構造の表現を全て否定する合理的な理由がわかりません。また論理構造の明示こそが「HTMLはあらゆる環境で利用できる」という目的を実現させているのですが。(そんなものがあるとすれば)論理構造重視派はCSSをもって論理構造と見栄えの共存を図っています。見栄え至上では、排他的になるのですか?
また、策定されることのなかったHTML3.0を省みてほしい。 HTML3.0はHTMLが持っている可能性のうち、見栄え制御言語への道を実現するための仕様になるはずだった。結果的に言えばそれは否定され、1995年9月の3.0の破綻から、一年少々経った1997年1月にその場しのぎ的なHTML3.2が勧告された。1997年12月にはHTML4.0が勧告されるに至っている。(1996年12月にはCSS Level1が勧告)
HTML4は仕様書に記述されているように、見栄えと構造の分離を目指した言語である。
なぜHTML3.0は破綻したのか。見栄え制御は意味構造の明示よりも社会的に優先されるものではないのか。そもそも同一のハード上で利用されることが限定できないWebという環境を想定した場合、Webの共通語たるべき仕様が採るべきスタンスとは何だろうか。──そういう迷走と理想の追求があって現在のHTMLが存在しているのではないか。
文書に関して、一体どれほどの人間が構造を意識できるだろうか。意味上の論理構造を見出せない人間が多いことにもかなりの問題がある。しかし、言われてみればそういう人たちも論理構造というものをどこかで知っており、普段は無意識的に見栄えから解釈している。もちろん閲覧者としてはそれが正しい。問題はHTML文書の記述者が論理構造に対して無知であるということである。
また、HTMLは意味上の構造は全てを表現することは不可能だが、HTMLは汎用的で強力な意味をもつ幾つかの基本的な意味構造を表現できれば良く、HTMLが全ての構造を表現する必要はないと思われる。そもそも意味上の構造全てというが、それほど多彩かつ明確な意味を持つ構造を内包した文書というのが、社会的にどれほどあるのかは疑問がある。加えて、HTMLではHTMLで表現できない構造のためにDIV、SPANなどを提供している。今後ユーザーがHTMLで表現されない微妙なニュアンスの構造を表現する場合、それらを用いてスタイルをもって直接閲覧者に働きかけることとなるだろう。(もっとも、意味を明示するという立場に基づいては、あまり多く発生しないと思うが)
今をもってもWebとHTMLは過渡期にある。過渡期の一時の混乱によって生じたデファクトスタンダードに拘泥することは今後の発展と利便性を阻害するのではないか。
「時既に遅しの感があり」。それはブラウザベンダに言って上げて下さい。だからもっと早く実装しろと。ブラウザの実装が拙くなければ、Webデザイナの先生方も我々一般人も楽ができるし、見栄え論争などしなくてもよくなる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
W3C準拠にする意味って何? (スコア:2, 興味深い)
何か、合理的な理由ってあるんでしょうか?
より多くの人に、より多くの環境で読めるようにでしょうか?
それなら、IE第一に考えるのが当然でしょうし、
古いブラウザのために、多少W3C標準から外れていた方が良い
ケースもあるのではないでしょうか。
HTMLが「美しい」こ
Re:W3C準拠にする意味って何? (スコア:3, 興味深い)
「単純にW3Cの勧告している文法に準拠にするだけ」なのなら、もったいないなぁ。コストは殆ど変わらないのに出来上がるものには違いがある。
文書内の「ある文字列/ある部品の役割とは何か」に注目しなければ、W3Cの勧告に準拠したところで「ただ見える」だけです。HTMLがもつ付加的な恩恵はハイパーリンク以外受けようがありません。「意味を伝える」という機能を無視しています。それと同時に様々な環境で内容が明確に伝わる可能性を狭めています。
HTMLとは文書の構造を、もっと端的に言って文書の「ある部品の意味を示すこと」に一つの大きな特徴があるのです。それが欠けていると、HTMLとしては少し損をしているのではないかなぁ。
「より多くの環境で」という言葉の意味が、私と#540202のACさんとでは違うと思いますので、それについて触れておきましょう。
ACさんが意図している「より多くの環境で」は「シェアの量的に、より多くの環境で」だと思います。故に「IE第一に考える」と述べているのでしょう。 私が「より多くの環境で」と言う場合は、「より多種多様なプラットフォームで」という言葉と等価な意味で用いているつもりです。
それは1面の真かもしれません。しかし、それを実行することは正しく解釈する他のUserAgentに対する不親切を伴わねばいけません。──そうしなければ、製作者が伝えたい情報というのは伝わらないものなのでしょうか?
W3CとHTMLという仕様自体は後方互換性に随分配慮した形をとっています。もちろん元ACさんが意図したいのはレンダリングに関することなのでしょうが、レンダリングの差異で作者の大まかな意図が通じない文書であれば、再考の余地があるのではないでしょうか。
HTMLを成す思想の基幹には2つあると思います。一つはハイパーリンクによる文書相互間の関連付け。もう一つは意味の伝達です。この二つがそろって利便性があり、HTMLとしては本来想定した機能を果たしているのではいかと思います。(HTMLにおいては、伝達と表現とは同義ではないと考える。)
--労使曰く、ひとごとを尽くして神頼み--
補足?その1 (スコア:2, 興味深い)
補足というか、頭に沸いてきたことをどこに返信したらよいかわからないのでここに書きます。
まず、我々の自然言語の文書を電子的に扱うことの弱点についてです。
電子的に文字を扱うことは、どうしてもレイアウト情報と文字を分離する形をとるか、文字情報とレイアウト情報を融合させて新しいフォーマットを用いるかを選択することとなります。前者を採ったのがプレーンテキストやHTMLで、後者を採ったのがPDFです。結果としてカジュアルに使われるようになったのはHTMLです。(後述)
我々の自然言語の文書は、少し色が使えなかったり、違うレイアウトで見えてしまったりするだけで、意図が通じなくなることがあるのです。例えば引用なんてのがそうなると思います。製作者はある文字列に特別な意味と区別を持たせたいのに、単なる文字列はその程度のことすら明確に伝えることはできません。
HTMLとPDFはそれぞれの特徴を生かしたアプローチでこれを解決しています。PDFはPostscript系のレイアウトを生成するための仕様ゆえに、あらゆる環境で同じレイアウトを再現しようとします。これによってDTP的に自然言語の文書とその意図を再現しています。
一方HTMLは、UserAgentで比較的容易に処理できるように決められたText形式のフォーマットで、処理を容易にするためにレンダリングなどをUserAgentに(悪く言えば)丸投げしています。そのため、予め意味を定めた記号を用いてレンダリング時(ユーザに伝える実装。音声などの場合もある)に参考になる意味を伝える方法で文書再現を支援しています。というより、文書再現を支援するための情報をUserAgentに伝えることこそがHTMLの目的なのだと思います。
ともかく、レンダリング情報をHTMLは保有しないわけですから、部品の意味を伝える以外に直接の再生支援をできませんし、それ以上のことは──画像レンダリングの高速化のためのサイズ指定などの良識ある便宜的な例外を除いて──してはならないと思います。
余談ですが、HTMLとPDFでなぜHTMLが多く使われるようなったかといえ、処理が容易で負荷が少ないからアプリケーションの製作が比較的容易で、実行環境でも割とストレスなく使用できるからでしょう。仮に負荷が変わらないのであれば、人間の感覚的に文書を再現しているPDFの方がユーザは好んで用いたかもしれません。
上記のようなことから、私はHTMLに求められているのは抽象性であると思っています。「HTMLは環境を限定しない。特定環境に合わせない。依存しない。」ということが求められていると思います。その性質上、特定環境に最適化すればHTMLとしては不十分になり、良くも悪くもどっちつかずがHTMLのスタンスであるべきだと思います。
--労使曰く、ひとごとを尽くして神頼み--
Re:W3C準拠にする意味って何? (スコア:1, 興味深い)
いいこと言うね。hirokoたんにも聞かせてやりたいよ(w
しかし、
これは実際の問題として、作者なりクライアントなりが伝えたい意図は「文字」に限らないんだな。
例えばテーブルレイアウトで頑張って作った角丸の枠。原理主義者にはどうでもいいように見えるけど、制作側やページを見る人にとってはブランドイメージを担う重要な意匠だったりする。
文章だけでなく、ビジュアルも含めて構成される「雰囲気」のようなものが制作側の意図である場合、レンダリングの結果は非常に重要であり「全て」と言ってもいい。
もちろんHTMLはレイアウト記述言語ではない。
しかしそれでも客(クライアントも見る側も)はデザインを求めるのだな。そこでウェブデザイナは仕様と言う「制約」の中で時には裏をかきつつあれこれするわけだ。
そんな中で誰が「HTMLを成す思想の基幹」なんて知っていようか?
見た目志向の客に「HTMLにおいては、伝達と表現とは同義ではない」なんて言うのは、女性ファッション誌を求める人間に文藝春秋を勧めるようなもので解決になっていない。
IE以外のウェブブラウザを知らない、名前ぐらいは知っていても「Mozilla? Opera? それってパソコンの専門家が使うソフトでしょ」としか思っていない層にも「HTMLを成す思想の基幹」が浸透しない限り(あるいはHTMLに代わるレイアウト記述言語が普及しない限り)この論争はいつまでも続くんだろうよ。
要するに「どこかで折り合いつけるしかない」ってことなんだけど、どこに折り合いつけるかはサイトが誰を対象にしているか次第じゃないのかな。
例えばWindows初心者対象のサイトだったら、IE限定にしてでもビジュアル優先になるだろうし(Windows初心者はほぼIEしか使わないし、分かりやすい解説にビジュアルは不可欠)、盲導犬の活動を紹介するサイトなら見た目より音声読み上げにも対応できる記述を重視するだろうし。
そんな個々の事情を考慮せずに「HTMLの思想」を振りかざしたって、賛同してくれるのは原理主義者だけだよ。
原理主義者以外の人間にいかに賛同して貰えるか、も考えないといけないんじゃないの?
やっとそう言う動きが具現化してきたんだし、つまんない重箱の隅つつきはそろそろやめにしない?
Re:W3C準拠にする意味って何? (スコア:1)
まず、振りかざしているわけではないんです。こういうものなんですって言いたいだけなんです。普通の人からすればHTMLなんぞレンダリング用の言語だと思ってるでしょうから。
文書を公開する側がどんな文書を公開しようが自由です。物理レイアウトでガチガチやってようが、W3Cの仕様に無理に従ってようが。ページが利用者を意識したものであるべきというのも、全くその通り。どこかで折り合いつけるしかないというのにも同意。
ただ、仕様に忠実であるべき、ユーザビリティであるべきという考え方は、クライアントの評価云々に優先されることは、ほぼありません。だから言うのです。仕様を優先しろとまでは言いませんが、表現したい内容について何か他の方法で代替できないものか、と。私がDIVやSPANまでも否定しているのなら、あなたの言うことは正しいけども。
見た目志向の客なら、その客に満足させる正当な手段を見つけるために足掻いてくださいと。そうしたら「現実は云々」はじまるんでしょうが…。 まあ、何が悪いといえばブラウザベンダの実装が拙いのが問題なわけですが^^;
--労使曰く、ひとごとを尽くして神頼み--
Re:W3C準拠にする意味って何? (スコア:0)
まともな文書が書けない作者やクライアントほど
デザインにこだわりますからね。心中お察しいたします。
#先に国語の勉強すればぁー?
補足?その2 (スコア:1)
HTMLは、文書を構成する要素の汎用的ないくつかをUserAgentに伝える役割を担っています。(見出し・段落・引用・強調など)。その点で、HTMLは便宜上汎用的な意味をもつもの以外を定めることができませんから、HTML単体は不完全なものといえるかもしれません。
また、HTMLの役割はUserAgentへの情報伝達です。人間への表現ではありません。この点がHTMLの不完全さであり、機能的利便性の追及の結果でありましょう。
HTMLによって伝えられた意味を人間に表現するための準備をするのはUserAgentの役割です。音声ブラウザには、音声による意味を表現するためのスタイル(~引用です。語調を強くなど。)視覚系ブラウザには、意味を表現するための視覚的スタイル(インデント・配色・文字サイズなど)です。
私は、文書製作者が本当に自分の文書に拘りをもって伝えたいという信念があるのならば、尽力すべきところはむしろHTMLなどではなく、直接ユーザに表現するための手段であると思います。即ち、UserAgentのレンダリングに茶々を入れることです。
HTMLが伝えられる意味には限界があります。定義されたものの意味しか伝えられません。(余談ですが、XMLで拡張定義したところでPublicな定義ではないため意味は共通に理解されないでしょう。)
しかし、利用者にはHTMLで定められている意味よりも、もっと微妙なニュアンスで表現したいと考える方も居られます。単なる強調にもたくさんの種類が必要だという人もいます。EMとSTRONGだけでは足りないと。──そのためのCSSなりユーザ定義のスタイルです。
過去、多くの人は「ユーザの意図を盛り込み、補完する機能」をHTMLに直接求めました。(そうする以外ユーザーがレンダリングに介入する手段がなかったからともいえる。)それが見栄えに即した物理的マークアップです。しかし、それは不完全で不可能で不可解な代物にしかなりません。
しかし、今はCSSなどがある。便宜上、HTMLの伝える内容には限界がある。それにユーザの意図を盛り込み、補完する機能があるとすればスタイルの定義です。
HTMLとUserAgentが協奏というと変ですが、HTMLとUserAgentが組み合わさらなければ、人間に情報は伝わらないのです。(ソースをテキストとして見るという人は除いて^^;)
もしも、理想の見た目で利用されたいのならばユーザスタイルに力を入れるべきです。かつ、それが再現されない場合にもHTMLの伝達する抽象的な意味で、大まかな意図が解釈できる範囲でスタイルを利用することを心がければ、「あらゆる環境で利用でき、かつ見栄えの良いページ」は実現できます。
余談ですが、デザイナが見栄えに拘るのは当然なことです。クライアントにはそれが評価の対象となります。どうしても、仕方なく使いたくない方法、よろしくない方法というのを採用しなければならないという場合があるのも知っています。
幸いか不幸かは知りませんが、今はまだ過渡期なのです。CSSを使えといってもあらゆるブラウザが正しく実装できてもいないし、CSS2だって完全とはいえない。混乱はいつ終わるともわかりません。しかし、その制約の中でも理想を求めることは必要なはずです。仕方ない──で切り捨てることになれるのは楽ですが、もう少し足掻いてみてもらいたいのです。クリエイターとして。
妥協の必要性と理想の追求。両者を天秤にかけるのは辛いことだし面倒なことです。でも、もう少し頑張ってほしいなぁと思うのです。
--労使曰く、ひとごとを尽くして神頼み--
Re:W3C準拠にする意味って何? (スコア:1)
昔から延々と続く「意味・外観論争」の原因は、HTMLの社会的用途が広がってくると、HTMLのようなやり方で後者の機能を完全に実現することはとてもできないということと、社会的には必ずしもそのような機能を広く求められていなかった、ということを、規格の制定者が、軽視した点にあるものと思われます。本来であれば、HTMLの利用が広がってきた時点で、むしろ意味上の論理構造を表す各種の要素(例えばH1 EM)はobsoleteとし、FONTなどの外観を表す要素を充実していくべきではなかったか、と思います。意味上の論理構造を表すことに利点がないわけではないにせよ、その機能がないか一部の用途にしか推奨されなくなっても、おそらくはそれほど実用上の問題がないのに対し、外観の制御ができないのは大問題であるからこそ、度々問題になっているわけです。つまり、あまり出来の良くない機能にこだわって、社会の要求とずれた規格にしてしまったという問題があるわけです。
HTMLのようなやり方で、社会に存在するもろもろの意味上の論理構造をすべて表すことが不可能だということや、外観を制御することが重要性を持つということは、制定者のコミュニティでも一応認識されていたようで、前者の解決策としてはXMLが、後者の解決策としてはCSSが制定されたようですが、時既に遅しの感があり、既にTABLE要素はレイアウト枠、FONT要素で文字の大きさを表すということで定着してしまいました。そうであれば、いまさらHTMLで中途半端な意味上の論理構造を表すことにこだわるべきでないと思います。意味を表したいものはXMLで、表現だけ必要なものはHTMLで、ということにすれば大分問題が解決されるように思います。
Re:W3C準拠にする意味って何? (スコア:2, 参考になる)
ディスプレイに表示されているWebページはHTML文書とUserAgentのスタイルシートとの融合物であるということを考えていただきたい。見栄えはUserAgentが用いるスタイルシートによるものであるから、見栄えを制御したい方々は対象が間違いであろう。(この場合のスタイルシートはCSSのみならず広義のスタイルシート)
仮に見栄え制御こそが重要であるということを真としても、論理構造の表現を全て否定する合理的な理由がわかりません。また論理構造の明示こそが「HTMLはあらゆる環境で利用できる」という目的を実現させているのですが。(そんなものがあるとすれば)論理構造重視派はCSSをもって論理構造と見栄えの共存を図っています。見栄え至上では、排他的になるのですか?
また、策定されることのなかったHTML3.0を省みてほしい。 HTML3.0はHTMLが持っている可能性のうち、見栄え制御言語への道を実現するための仕様になるはずだった。結果的に言えばそれは否定され、1995年9月の3.0の破綻から、一年少々経った1997年1月にその場しのぎ的なHTML3.2が勧告された。1997年12月にはHTML4.0が勧告されるに至っている。(1996年12月にはCSS Level1が勧告)
HTML4は仕様書に記述されているように、見栄えと構造の分離を目指した言語である。
なぜHTML3.0は破綻したのか。見栄え制御は意味構造の明示よりも社会的に優先されるものではないのか。そもそも同一のハード上で利用されることが限定できないWebという環境を想定した場合、Webの共通語たるべき仕様が採るべきスタンスとは何だろうか。──そういう迷走と理想の追求があって現在のHTMLが存在しているのではないか。
文書に関して、一体どれほどの人間が構造を意識できるだろうか。意味上の論理構造を見出せない人間が多いことにもかなりの問題がある。しかし、言われてみればそういう人たちも論理構造というものをどこかで知っており、普段は無意識的に見栄えから解釈している。もちろん閲覧者としてはそれが正しい。問題はHTML文書の記述者が論理構造に対して無知であるということである。
また、HTMLは意味上の構造は全てを表現することは不可能だが、HTMLは汎用的で強力な意味をもつ幾つかの基本的な意味構造を表現できれば良く、HTMLが全ての構造を表現する必要はないと思われる。そもそも意味上の構造全てというが、それほど多彩かつ明確な意味を持つ構造を内包した文書というのが、社会的にどれほどあるのかは疑問がある。加えて、HTMLではHTMLで表現できない構造のためにDIV、SPANなどを提供している。今後ユーザーがHTMLで表現されない微妙なニュアンスの構造を表現する場合、それらを用いてスタイルをもって直接閲覧者に働きかけることとなるだろう。(もっとも、意味を明示するという立場に基づいては、あまり多く発生しないと思うが)
今をもってもWebとHTMLは過渡期にある。過渡期の一時の混乱によって生じたデファクトスタンダードに拘泥することは今後の発展と利便性を阻害するのではないか。
「時既に遅しの感があり」。それはブラウザベンダに言って上げて下さい。だからもっと早く実装しろと。ブラウザの実装が拙くなければ、Webデザイナの先生方も我々一般人も楽ができるし、見栄え論争などしなくてもよくなる。
--労使曰く、ひとごとを尽くして神頼み--
Re:W3C準拠にする意味って何? (スコア:1)
文書において、わざわざ余分な手間をかけて意味上の論理構造を示すからには、それに見合うだけのメリットが必要です。おそらく当初HTMLが目指したものは、ある程度まとまった文章、特に論文について、その題名や章立てといった構成を機械に認識させることによって、文書そのものをいわばデータベースとし、題名や目次のリストの作成、あるいはそれらにをキーにした検索といった、文書処理の機械化を実現し、またそれと併せて、対応するタグで括って指定するだけで、それなりに見栄えのする形で(ブラウザに)文書を表示すること、といったことだったのではないでしょうか。これらは論文のような文書だけであればそこそこ機能しますが、現在のように文書のバリエーションが広がると、うまく適用できなくなります。
文書構造を機械に認識させて処理するという面では、ある要素(データベースでいうところの列ないし項目)に含まれているデータの意味が全てのインスタンス(データベースでいうところの行)できちんと統一されていることが重要です。例えば、H1で指定されているものが、ある文書では文書の題だが、ある文書では章題であり、またある文書では日記の日付だったりしたのでは、機械処理のメリットはほとんど出てきません。XMLでは、それぞれの要素の意味をきちんと定義して使うことができるので、この問題を解決できます。しかしそれは逆にいえば、XMLのような仕組みのないHTMLでは、マトモな機械処理などはほとんど期待できないということです。
また、見栄えの面については、当然のことながら、論文式の外観では都合の悪い文書が社会には多く存在します。さらに、社会には論文式の論理的構造を表すことにあまり意味がないデータが存在します。そしてそのようなデータでも、HTMLで表して表示させる方が都合がいいこともあります。そのようなデータにも、HTMLは文書的な論理構造を強制し、その上でスタイルシートを利用せよといいますが、そこには論文をHTMLで書いていたときのような利便性はなく、意義が乏しいように思われます。
DIV要素は一つの妥協で、結局規格であらかじめ決めておいた文書の構造を、現実社会の雑多なデータに強制することはできない、ということを認めた白旗と見るべきです。いったんDIVで範囲を指定してから、それとは別にスタイルシートでスタイルを指定する。そんな迂遠なことをするならば、初めから外観を表す要素を認めればいいのです。
実のところ、HTMLにいう文書構造というのは、厳密に言えば、意味上の論理構造というより、ワープロソフトの書式設定を多少抽象化した程度のものでしかありません。その中途半端さゆえに、ワープロソフトの書式設定機能としては機能不足、かといって機械処理にも使えないという「帯に短し襷に長し」の状況に陥っています。
以上のような理由から、意味上の論理構造という概念に拘って、そのような概念に沿わない要素を望ましくないものとする方針は、妥当ではないものと考えます。また、規格上要素の意味が規定されているものについて、規格を尊重するという面で、その意味を外れた利用をすることが望ましくないのは勿論です。しかしTABLEなどは、現状では完全には代替できない面もあるようですから、そういうものについては容認すべきで、この際TABLEはテーブルではなくレイアウト枠で(も)あると規格を改定することも考えるべきです。
なお、論理構造を示す要素を、テキスト文書の簡易整形機能として使う限りにおいては、それらは便利な機能ではあります。
Re:W3C準拠にする意味って何? (スコア:1)
XMLな立場でいえばgnakaさんの仰ることはごもっとも。XMLがユーザ定義による拡張性から自由度が高くユーザの意図を盛り込んだ文書が作成可能であるとも言えるでしょう。将来的に知的財産の共有という理想は、今よりも高度な形でXMLから成るセマンティックウェブによって成される可能性があるわけだし、XMLの展望には期待しています。
少し穿った見方をすれば、事実上CSSの登場は物理マークアップを過去のものとし、マークアップ文書の価値は意味構造を明示することになりました。それと同時に意味と見栄えとの居り合わせを付けて来たHTMLタグも過去のものといえるかもしれません。表現として「ある意味」がユーザに伝わればよいのですから、表現の方法がユーザに開放された時点で、HTMLから意味を明示する必要性は(特定以上の環境にとっては)失われたように思いもします。もともとHTMLのタグというのは、ある意味を表現するためにの実装をUserAgentに丸投げするためにあったようなものですし、丸投げではなく、製作者自身がレンダリングに茶々を入れられるならば、意図したとおりの表現が施されるであろうから意味の明示は大した価値がないとも考えられる。極論すれば「DIVみたいなもの」でも作者の意図が伝わればよいのですから。(意味を伝達し、それに相応しい表現を施すという観点からすれば──です。)
しかし、この場合私がXMLに対して一番の不信を持っている下方互換性についてはどうなっているんでしょうか。仮にCSS或いはXSLを再現できない環境であったとしたら、デフォルトスタイルの決めようのないXMLではどう表現するのでしょうか。まさかHTMLの意味定義に拘るなといいながら、HTMLレンダラが持つHTMLデフォルトスタイルシートの世話になることもできないでしょう。デフォルトスタイルを当てにできないXMLに下方互換性が提供できるのですか?HTML(にまつわる環境)に頼らずに、です。
私は、HTMLの意味構造の定義範囲を破壊したほうが良いというのには賛同いたしかねます。またXMLによってそれを行う場合もです。XMLはHTMLと共存する気がないというならば全く問題ありませんが、XMLとはそういうスタンスの言語でもないでしょう。
私は、HTMLレンダラが保有しているデフォルトスタイルは(JavascriptやCSSなどの先進技術が使えない)最悪の場合でも大まかに要素の意味を明示するための「避難的対処法」であると考えます。
結局XMLはセマンティックウェブへの布石であり、現在はHTML同様不完全であります。機械的処理に優れる(例・データ検索など)といっても一定量そろわなければ、それに対する利点が得られません。XMLの得意とする分野、若しくはXMLでしか実現できない分野をXMLで構築することは当然ですが、XMLがHTMLの意味定義範囲を侵害することは、XML(XHTML)に対しても大いに不利益でありえます。なぜならばXMLをHTMLとして伝達することを当てにできなくなるからです。ひいてはXML文書がHTMLの「避難的対処法」にすら逃げられなくなるからです。
HTMLという言語に限界があるのは事実です。将来的にはXMLアプリケーションがHTMLに代替する役割を全面的に担ってくれることを期待します。ただし、見栄えを指定する要素云々はXMLがメインストリームとして120%活躍する土壌が揃ってからやって頂きたい。少なくともそれはHTMLとしてやってもらいたくはないし、やっていただいては困る。
水は低きに流れる──ではありませんが、あまり上位のことばかり想定したシステムがWebの共通語として通用するのでしょうか。それをしたければ、まず環境が整うのを待ちましょう。
以上をもって、私は現時点におけるHTMLの意味構造を蔑ろにする記述法を否定します。今後もHTMLという仕様に沿って記述された数多くの文書の可読性・意図理解性・上下互換性を保持するためにも、意味構造に反する記述を否定します。
余談ですが、私は公開文書のHTMLやXMLのことを言っているのであって、ローカル環境でレイアウト制御言語としてHTMLを用いることは可能だし、中途半端でも一応表示できているのだから、それで問題がないという人が使えばいいのです。ただし、思想的には公開文書でそういうことやってくれるな──といいたいのです。
--労使曰く、ひとごとを尽くして神頼み--