CSS はやはり NN を排除するのか?

以下の文は全て非推奨です。読むことも、いかなる影響を受けることも、推奨しません。

排除って何よ

本来の使い方と、そうでない使い方

包丁は食材を切るのにも人間を切るのにも(違)使えますが、それと同様に、現状では HTML も、テキストの論理的構造をデータ化することにもテキストを視覚的にレイアウトすることにも使えます。ただ、 HTML にとって本来の使い方は前者なのにも関わらず、後者の付随的な使い方のためだけに拡張されてきた(本来の使い方が蔑ろにされてきた)ために、 HTML は本来の使い方ができなくなってしまっています。

「正しい(本来の)使い方」で作られた HTML 文書は、「環境に依存しない」「再利用が容易な」汎用の文書データとなります。現状では単なる「ページレイアウトのための道具」として利用されているケースが多いですが、そのような使い方では、これらの特徴による恩恵が受けられません。そこで、 W3C は「スタイル情報はスタイルシートで別に指定して、 HTML 文書そのものはもっとシンプルなものにするのが望ましい」として、また、その理想を実現しやすいようにと、近年活発に活動を行っています。

さて。上記の通り、「正しい使い方」ではレイアウトを CSS などの別の技術で実現する事になります。しかし実際には、 CSS に対応していない(きちんと動作しない、あるいは CSS そのものに対応していない)ブラウザがまだまだ多く、レイアウトを CSS だけで行うと「 CSS 非対応ブラウザでは淋しい表示になる→それは排除だ!」ということで、むしろ閲覧者側からさえ煙たがられてしまいがちです。何故こんな事になってしまうのでしょうか。

混同してはいけない

まず最初に書いておきますが、 CSS の表現力はよく言われている認識よりもずっと凄いです。 HTML のみによるレイアウトより1段も2段も高度な表現ができる可能性を CSS は秘めています。だから、「 CSS でレイアウトするとショボいレイアウトしかできない」というのは間違いなのです。そして、 HTML の文法的に正しくアクセシビリティを重視したページを作るのと、デザイン的に優れたページを作るのとは、決して相反する要素ではありません。両方の心得があれば、両立は十分に可能なのです。

CSS でデザインをするというのは、いままで HTML で文書の内容もデザインも両方とも記述していたのを、 HTML で内容を・ CSS でデザインをと分離しようということでしかありません。つまりデザインのための手段を変えるだけであって、デザインを軽視するとかそういう話ではないのです。問題なのは、一部の古いブラウザ(主に NN 4 )が CSS をまともに解釈できないという状況でしょう。

よく誤解している人がいますが、 W3C は各ブラウザベンダに「無理な実装を求めている」わけではありません。そもそも Microsoft も Netscape も、「 W3C の仕様に準拠した実装をする」と何年も前から謳っています。その上で Netscape は NN 4.x をリリースしたのですから、怒りの矛先を向けるべきは「実装されていない仕様」を勧告した W3C ではなく「仕様に準拠している」とウソを付いた Netscape でしょう。

何をもって「排除」とするか

グラフィカルでありながら CSS 非対応のブラウザ――例えば Lite や iCab などを使っている人の中は、自分たちが CSS によるデザインを見られなくて「排除されている!」と感じていることを指して「 CSS は CSS 非対応ブラウザを排除する」と言う人がいます。しかし、それは排除ではありません。確かに CSS によるレイアウトは非対応環境では再現されませんが、それはレイアウトに限った話です。肝心の「内容」の伝達、即ち閲覧自体には何ら影響を及ぼさないのですから、これはあえて言うなら冷遇でしょう。

排除というのは、リンク画像に alt を指定していなかったり、リンクを全て JavaScript で動作するようにしているなど、非対応環境ではまったく閲覧(聴)ができないようなことを言います。非対応環境に対し閲覧さえ許さないような JavaScript やフレームの使い方が平気でまかり通っている現状を考えれば、何が本当の排除であるかは明白でしょう。

例えば僕は、 JavaScript をオフにした NN 4.73 で普段 Web ページを見ていますが、 「全てのリンクが無意味に JavaScript で書かれていて、リンクをクリックしても先に進めないページ」「文章自体が JavaScript で出力されていて、 JavaScript オフで見ると真っ白けのページ」なんて極悪なページにしょっちゅう出会います。しかし、このサイトのように CSS でレイアウトを行ったページを見ても、見た目が淋しくなるだけで、中身を読むのには何も支障ありませんJavaScript を使っているサイトでは門前払いを食らわされるのに対し、 CSS を使っているサイトではそんなことはない。さて、これではたして「 CSS は非対応環境を排除する」と言えるでしょうか?

排除しないための CSS

クロスブラウザ

「 HTML でどんなブラウザでも見えるレイアウトをするべきだ」という主張を未だ目にします。しかし、例えば<font>を使ったとして、音声ブラウザでどうやって「色」や「文字サイズ」を表現すればいいのでしょうか。例えば<table>で段組を作ったとして、 i-mode の狭い画面でどうやって段組を表示しろと言うのでしょうか

こういう事を言うと、「そんなの、 i-mode 用や音声ブラウザ用のページをべつに用意すればいいじゃないか」と言われるかも知れません。しかし実際には、同じ内容のページをブラウザ別に用意することは容易ではありません。しかも、ブラウザは「音声ブラウザ」「小型端末」だけではないのです。あらゆる環境を考慮して別々のページを用意するなんて苦労をするくらいなら、内容だけ汎用の形式で作って、見栄えだけ各ブラウザに用意するほうがずっと効率的で有意義でしょう。あらゆる環境で安心して閲覧できるページを「クロスブラウザなページ」と呼ぶ人もいますが、 HTML は本来クロスブラウザが当たり前なのです。

「少数派」ってなんですか?

「ンな事言ったって、実際ブラウザのシェアは IE が90%以上じゃん。 IE でさえ見れれば誰も困らない」そう言うのなら、例えば自分が事故なり病気なりで入院して、小型の端末でしか Web にアクセスできなくなった時の事を考えてみましょう。マウスのない機械で、画面も狭く、 JavaScript も動作しない。いつ自分がそんな「 Web における弱者」の側に転落するかわからないのです(また、見方を変えれば、そういう「弱者」も常に Web にはアクセスしているのです)から、他人事と高をくくってはいられません。そもそも「シェアの割合」だけ言っても、「ブラウザシェア No.1 」が携帯電話の内蔵ブラウザとなる事だって十分にあり得るのです。

「今の環境」でアクセスできるのは恵まれている方だと考えていいでしょう。前述のような極端な例は抜きにしたとしても、全ての人が IE 4 以上を使用しているとは限りませんし、全ての人が画像を大量に・高速に見られるような快適なネット環境であるとは限りません。パターンだけなら、「今の環境」と同じ環境である確率の方が少ないと言えます。

「 HTML だけでどんなブラウザでも見えるレイアウトをしよう」というのが、その「どんな」が本当に限られたごく一部の環境――自分と同じマシンで、自分と同じ OS で、自分と同じブラウザで、自分と同じ大きさのディスプレイで――だけを指していて、圧倒的に多数のそうでない環境排除する、という矛盾だらけの考えであるのは明らかです。事実、そういうサイトほどトップページに「このサイトは IE 5 以上、 1024x768 以上でご覧下さい」などと書いてあからさまに閲覧環境を限定しているケースが多いです。真に「どんなブラウザでも」を実現するなら、あらゆる環境を想定しての最大公約数的な技術を使うべきでしょう。

最大公約数としての HTML と、 CSS

「正しい HTML 」は、なにも「対応環境が存在しない未知の新技術」ではありません。現在広く使われている HTML の中枢部分だけを抜き出したものと言っていいでしょう。つまり、現在のブラウザは全て「正しい HTML 」に対応しているのです。

ページの本質的な部分(内容)を「正しい HTML 」で、レイアウト情報を CSS で指定したページは、最大公約数(どんな環境でも安心して閲覧できる)でありながら、同時に、 CSS 対応環境においては「それ以上」を実現できるという、まさに万々歳の造りになります。そして現在、この「理想論的な」手法を実現できるように、 Web の技術も向かいつつあります。―― IE 5 や Netscape 6 など、 CSS の実装がどんどん進んでいる現状を見れば、この流れは明らかでしょう。

非対応環境を冷遇しつつ広く多くの環境に対応するのと、非対応環境を排除してごくごく狭い世界に閉じこもるのと、どちらがより現実的でしょうか。「自分の知っている世界だけでいい。他の環境なんてどうだっていい」そう考えるのは構いませんが、それが「自分以外の環境」を永遠に排除し続けているということは、そしていつ自分が「排除される側」に回ってもおかしくないということは、念頭に置く必要があると思います。

いざ自分がそういう状況になったとき、初めて「排除された」と感じます。自分がそのときに悲しい思いをせずに済むよう――ひいては他の誰もがそういう思いをせずに済むように、「心遣い」を。

論争?(参考記事: Log より抜粋)

  1. 発端記事( Latest topics )
  2. 上記内容に関する掲示板の Log (一部省略)
    T

    例の発言> 横にいてた人間として、ちょっとフォローを。

    私も B さんと同じ環境(※編注: MacOS, NetscapeNavigator 4.x )なので、彼の言ってる事も解るし、 Piro 君の言いたい事も良く解る。

    B さんがああ言ったのは、故意でも誤解でもないと言う事を解って欲しい。 B さんの言ってた事は「本当の事」なんです。私も横で聞いてて同じ事を思った訳ですから。つまりその、 Piro 君が思ってる様に、公開している情報の主従関係をはき違えている訳ではなく、うちらはここのサイトの「全体」を見たいんです。

    ここのサイトが出来た当初は CSS は使ってなかったよね? (略)でも、 CSS 導入後は NN 4.X が CSS に対応しきれてないと言う理由から、うちらの使ってる NN 4.5 では見れなくなってしまいました。理由は解るけど、やっぱり寂しかったよ。だって、文字情報もそうだけど、レイアウトを含めた「全体」としてここのサイトを見たいもの。

    確かに IE で見れば、ここは完全な形で見れるけれど、前にもここを IE で見ると飛ぶし ( 爆 )  実際、この書き込みをしてる最中で、 IE で見つつレスを書こうと思ったら、また飛んだし ( 爆 )  二人とも使ってるのが NN だし、 IE も飛ぶとなると(飛ばなくてもトラウマが (^_^;) )完全にここを Piro 君が見せたいと思ってる形では見れなくなってしまう訳で・・・。 そうなってくると、ちょっと Mac ユーザー且つ NN ユーザーとしては疎外感が生まれる訳で・・・ ( 汗 )

    繰り返し言うけれど、解ってるのよ?ちゃんと。 Piro 君が何故に NN で見れない様にしているか。でもねぇ・・・やっぱり見れなくて残念だと思うのだ。本当に。そう言う意味で B さんがああいう発言したんだと私は思うんだけど?

    (略)

    どうでもいいサイトなら、 B さんもああいう発言はしなかったと思う。確かに「失言」と言やぁ、失言やけど ( 爆 ) やっぱり「 Piro 君が作った完全な形でここのサイトを見たい」って言うのだけは本当だから・・・。その辺は解ってね。(略)

    Piro

    本音を言えばさ…… こんなボロクソに書かれてるのリアルタイムで読んだら、「ンだとてめぇ、だったらやってやろうじゃねぇか」と思いたくもなります……

    Latest/Flakes of Ideas にも書いたけど、できることなら「指針」の一つとなりたかった。それが、ここまで偏執的なほどにこだわるおそらく一番の理由ですね。はっきり言えばただの自惚れなんですけどね。下らない理由ですけどね。

    (略)

    S

    (略)

    あれですね、ブラウザによるサイトの表示の違いって言うのは現在のネット環境における根本的かつ大きな問題ですよね。ここでは、表示の違い以前に画面が止まる止まらない等の「見たくても見れない」というこれ以上ないくらいの問題についてお話しされているようですが・・・。

    問題の核たる CSS を知らない私が何を言っても仕方がないのですが、私はそれをとても大きな問題で有ると思います。この先、 CSS については問題が解消されて行くようですが、それでも今、現実にこうしてブラウザ間の隔たりが災いし、もめてしまう事態になるわけですし。

    (略)私も、ブラウザについては非常に興味が有ります。現在主流の IE と NN ( NC ?)の間で、表示に違いがあることは私も知っています。(略)

    piro さんの言われることはよく分かります。 NN に対して特定の感情が有るわけでも無し、逆に自分の伝えたいモノが確実に伝わるようにするために苦肉の策を選んだこと。(※編注:そうです。)飛躍しすぎでしょうか? 私が日記を読む限り、私にはそう感じられました。ただ、一方で日記を読んで「 CSS を使う限り、それは仕方のないこと」と受け止められた事もまた事実です。もし私が NN しか使えないユーザーなら、この時点で疎外感を感じてしまうのも仕方が無いように思います。(略)

    私が思うに、 CSS に関して問題のあるブラウザを使っているユーザーに対してもっと考慮すべきでは無いかと思います。「表示した瞬間にバグる様なブラウザを使っている方が悪い」なんて piro さんは決して思っていないはずです。今のこのサイトの現状では、「 NN ユーザーいじめ」ととられても仕方が無いと思います。しかも CSS の普及率が高くないことを piro さん自身よく分かっておられる上でのサイト運営の様ですし、それでも良いと思っておられるのでしたら問題は別ですが、そうでも無いご様子ですし。(※編注:とりあえず、煮えきれない状態です。)

    メニュー前に CSS を使わない「門」を作り注意を呼びかける、等トラブルの回避を呼びかけるのも大切だと思います。今の状況だと、注意を読む前にフリーズなんて事になりかねないユーザーもいると思いますし。

    (略)

    T

    まぁ、某所で、やり玉に上がったとか言うのは聞いてるから、気持ちは解らなくもないけどね、でも、そこの人と、うちらの気持ちはまた別次元だって事、忘れないで欲しい。いや、 Piro 君が怒りたくなる気持ちも解らなくは無いんだけど、その辺ごっちゃにされると(してないとは思うけれど)(※編注:してません。)こっちとしても、何を言っていいか解らなくなる。正直言って。

    B さんの言った事は、多分他のここを見てる NN ユーザーにも言える事なのではないでしょうか? 少なくとも私も、その一人です。やっぱり見れないって言うのは寂しいもの。

    (略)

    取り敢えず言える事は、そこの人の意見はまた別問題。うちらが言ってる事とは別にして考えてくれ、と言う事でしょうか。

    K

    あくまで個人的な感情ですが私の場合は「見れない環境が悪い」って思ってます。

    かくいう私のサイトもそうならここ( outsider reflex )もですけど、よく居ますよね「このサイトは IE 、 NN で表示確認しています」って言う人。

    それ自体はどうでもいいんですが、問題は WWW の策定した HTML という規格があるのになんでそんなわざわざ我々の各々がそんな下らないことのチェックを行わなくてはならないのか、ってのが個人的には多少ながらムカついてます。「んなもん見れて当然じゃねえか。見れないと言う事態は本質的にはあり得ないわけだし」そう言って何が悪いのか。

    そんな下らない問題が Piro さんが頭を擡げるに足るものでもなければそもそもそう言ったことに対して文句を言うべきは未だに HTML にもまともに準拠してなければ何様のつもりか独自タグなどと宣う Netscape に言うべきなのではないんでしょうか。

    別に「見れない ? じゃあ出てけ」とかは私の意志でもなければ間違ってるとも思いますが「まともに見れるブラウザが使える環境ぐらい用意しようよ」ってのは言ってもいいんじゃないかと。

    そんなことを言っても当座は乗り越えられないのは承知ですがどうにも Piro さん追いつめられてるようだったので。(※編注:そ、そうですか?(汗))

    じゃあ当座は ? と言うことなれば、ウチのサイトのリンク先とか、今はフレームなんですが、昔は IE にはスタイルシート、 NN にはテーブルと言った具合にほぼ同じレイアウトのものを2つ作ってトップから選択できるようにしてたんですがそう言うのはどうです ?

    とりあえず今の CSS を IE 専用にしてもうどうせのことならレイアウト関係なしに NN に一応飛べるだけのリンク置いたページ用意するとか、そう言うのでもいいんじゃないでしょうか。どうせ見れないよりマシってことで。

    T

    追い詰めてる訳じゃ無いんだけどねぇ・・・ ( 笑 )

    確かに「見れない環境が悪い」って言うのも、一利ありますけど、でもねぇ・・・。

    まともに見れるブラウザが使える環境ぐらい用意しようよ

    これに対してはちょっと、意見を。

    確かにね、 IE で見れば、ここもちゃんと見れるんだろうけどさ、前にも言ってる様に、 Mac の IE だと、ここは飛ぶんだ。じゃ、どうしろと? ( 苦笑 )

    昔は IE にはスタイルシート、 NN にはテーブルと言った具合にほぼ同じレイアウトのものを2つ作ってトップから選択できるようにしてたんですが

    ・・・まぁ、結論から言うと、こうしてくれると非常に有難いんだけど ( 笑 )  でも、 Piro 君の現状考えると、時間的&精神的に無理そうだしね・・・。

    Piro

    MacIE のフリーズ問題は、チェック環境がない自分にとっちゃもう「えーかげんにしてや(泣)」という感じにしかなってない(死)ですが、「バグ付きブラウザを使う方が悪い」とは思ってないつもりです。怒るとすれば「使う人」よりも「開発者(社)」に対してでしょうか。

    NN 4 は CSS に(一応)対応してますから、きちんとチェックしてやれば NN でも CSS を適用されるようにできます。けど、自分にはその作業は辛すぎて……理由はいうまでもなくバグによるものですが。規則性のあるバグならまだいい。 NN 4 の場合、同じ指定でエラーが出るとき出ないときがあるからヤなんです(泣)だからばっさり「切り捨てた」、と。このためだけに全ての時間を費やして、サイト本体の更新がおろそかになるようなら……それだけは避けたかったので。

    私は今のところ、「 WWW はデータベース」という認識でいます。だから「テキストなどの情報の可読性を最優先」となってしまっているわけで。自分には「疎外感」には繋がらないため、上のように割り切(れ)るんです。むしろ、そういうサイトに出会ったとき、「バグ持ち NN のために CSS を無効にしている」わけだから、感謝こそすれ疎外されているとは(自分は)思えないのです。だから「 NN ユーザーいじめ」という言葉には憤慨せざるを得ない

    確かに「 NN 用の」レイアウトやページを用意する手間を惜しんでいるのは事実です。そこを指して「いじめ」と言われるなら、まぁ、確かにそうでしょう。「面倒だから NN を( CSS を使う上で)切り捨てている」のですから。正直、 IE 4 で障害が起こる部分を分離する作業でさえ私には辛くてしょうがないです……

    うちはなんだかんだ言ってもいち高校生が個人運営するサイトなので、できることには当然限界があります。中身を重視すれば外面を、外面を重視すれば中身を、それぞれおろそかにせざるを得ません。両立は私の技量では無理です。私は前者の方が自分のポリシーに合致するため、このようにしました。「寂しい思い」はされるでしょうが、「全く見れない」よりはまだマシかと思ったので。

    トップからいきなり CSS を使っているのは確かに考え物ですが、(略)一見さんのことを考えれば、「以下は CSS を利用して〜」という注意書きも必要かもしれませんね。 MacIE ユーザーには嫌われていると思います、ここ。

    前のレスで出した過去ログは、「スタイルシート論争」に関するものです。あの「論争」は CSS という技術そのものよりも、それをのべつまくなし押しつける CSS 推進派(当時)の態度に問題があったわけで、当然あれらの否定論も「 CSS 推進者に対しての感情的否定」でしかなかったんですが、そういうはっきり言って無関係なところにまでいちいち反応して腹を立ててしまうのが私の性分です(苦笑)

    っていうかね。私の考えでは、結局、「淋しいなんて我が侭言うな。 CSS 非対応ブラウザ使ってんだかったら諦めれ。 CSS の実装にバグのあるブラウザしかないんだったら使うな。見栄えも含めた全体が見たいなんて身勝手言うな。だったら既にあるもっとデザインも良くて中身のあるサイトに行きゃいいじゃねぇか」というところに落ち着いてしまうんですよ。(今のところ)信念持ってやってる以上、それを「 NN ユーザーいじめ」なんて見方をされると気分が悪くてしょうがないのです。「 NN ユーザーのために CSS に移行した」といってもいいくらいなのに。

    M

    CSS 、かあ。こちらでは初めまして。僕も CSS とか HTML についてとやかく言ってる、ちょっと前まで高校生だった人です。

    8/9の(※編注:ここまでの Log )を読んで思ったんですが、ここは Piro 氏の運営する個人サイトなんだから、彼のやりたいようにやるのが当然なんじゃないかなあと思いました。別に擁護するわけじゃなくて、至極当たり前のことで。そして彼の考えに納得できない人は唯見なければいいんじゃ。

    だいたい NN 4.X でスタイルシートが読み込まれないこと自体がバグなんですから、それを運営者に言ったところでしょうがないワケです。 NN 6 を待つとかフィードバックを送るとか、他に手はあるのでは?

    ただまあ、結局普通の閲覧者や、 CSS がどういうものであるかを正確に理解していない人には「このページは IE で見てください」と違いは無いんだと思うんです。いくら説明してもそんなことは端から問題ではなくて、自分の持ってるブラウザで綺麗に見えるかどうかだけが焦点である場合が多いと思います。で、 NN 4 つかってて標準表示になったら「ああ、切り捨てられたんだな」という考えに至るのも納得できるところだと。著者と読者の視点の違い、と言ったところでしょうか。僕らの当たり前がそのまま相手にも適用できるわけではないんです。

    この辺は興味深いところで、ユーザビリティという名を冠していろんなところで言われていることだったりします。

    唯一の折衷案は NN 4 でも見られる CSS レイアウトを施すことですが、たぶん辛いです。僕は興味本位でやってみましたが、 CSS を正しく解釈するブラウザと同じ見栄えにすることはまあ無理です。全然違う見た目のサイトになりました ( 笑 ) 。(略)

    なんか長々と書きました。要は「ベクトルが違う」という事が言いたかったわけです。