「○○はCSSの実装が腐っているから、排除しろ」「セキュリティに問題がある○○は排除しろ」などといって、特定のユーザエージェントでの閲覧を阻止しようと考える連中がいるようですが、その発想は言語道断です。
平成16年 5月に、インターネットエクスプローラを排除する運動が啓蒙活動
の名のもとで起こりました。その方法はインターネットエクスプローラでの閲覧を妨害するコンテンツを作ると言うものでしたが、その様な事をするのは絶対に許されませんし、非難されない方がおかしいのです。
特定のユーザエージェントでの閲覧を阻止しようとは何様のつもりなのでしょうかね。
インターネットエクスプローラ 3.xやネットスケープ 4.xは、CSSの実装が仕様と大きく異なり、仕様に従ったスタイル定義ファイルでは却って正しく表示出来ません。
場合に依っては、ユーザエージェントが落ちる事さえあります。
そこで、これらのユーザエージェントに対しては、何らかの方法でスタイル定義ファイルのリンクを阻止する事が多い訳ですが、この行為は、インターネットエクスプローラ 3.xやネットスケープ 4.xを排除する行為でしょうか?
答えは「NO」です。
閲覧が不可能になる可能性があるスタイル定義ファイルを適用させない事で、プレーンな表示になるものの可読性を保障する事になるのですから、寧ろユーザエージェント排除ではなくユーザエージェント対応策とさえ言えます。
尚、インターネットエクスプローラ排除啓蒙活動の一環としてインターネットエクスプローラに対してCSSを適用させない事で閲覧者にインターネットエクスプローラはスタイルが適用出来ないから他のユーザエージェントを使うべきだ
と思わせようとした馬鹿もいましたが、スタイルが全く適用されないページを見て、インターネットエクスプローラだと問題があるんだ
と判断する一般閲覧者はいません。欲しい情報が得られれば取敢えず問題は無いからです。
排除活動のために排除すべき(と勝手に思い込んでいる)ユーザエージェントにCSSを適用させないと言う発想は、一般人の感覚を理解しようとせずに独善を押付ける愚行としか言えないのです。
現在、考えられているユーザエージェント排除策は、主に以下の三つがあるようです。
JAVAスクリプトなどのクライアントサイドスクリプトや、PerlやPHPなどのサーヴァサイドスクリプトを用いてアクセスを阻止するやり方です。
このやり方は、PCや携帯端末などに適したコンテンツを振り分けるのに良く使われますが、排除に使う事も考えられると言うのです。
特定のユーザエージェントが持つCSSの不具合や独自仕様を悪用して、これらの問題を抱えたユーザエージェントでは表示出来ないようにしてしまうと言うものです。
!important最重要宣言)、公式仕様の実装が不充分なユーザエージェントでもユーザ補助などの機能で閲覧者がスタイルを拒絶出来る機能は実装されております(しかもユーザエージェントに依ってはわざわざユーザ定義スタイルシートを用意する必要も無く利用出来ます)。こんな事も知らないで特定ユーザエージェントでの閲覧拒否をするのでしょうかねえ。例えば、インターネットエクスプローラを排除するために、.htaccess定義ファイルなどでAddType "application/xhtml+xml;charset=shift_jis" .htmlとでもしてやります(サーヴァによっては異なる方法を採るかも知れませんし、設定を認めないサーヴァもあるでしょう)。
こうすると、インターネットエクスプローラなどの対応していないユーザエージェントでは大抵当該文書をローカルで保存しようとします。
当然事情を知らない一般の閲覧者は危険なファイルをダウンロードさせようとするウェブと判断する事でしょう。
これは最低最悪の嫌がらせであり、人様に故意に迷惑をかける行為、いや迷惑を通り越して暴力そのものとさえ思っております。
このような行為を問題視しない, 問題視しようとしない, 或いは推奨する連中には、そう言う記述は迷惑だ
などと言って人様の制作作法を批判する資格はありません。
迷惑だと喚いているとしか思えません。
例えCSSなどの実装に問題があるからと言って、或いはセキュリティに問題があるからと言って、特定のユーザエージェントを排除して良い訳がありません。
いや、はっきり言えば、特定のユーザエージェントを排除するなど言語道断だと断言出来ます。
あるユーザエージェントに問題があっても、その事を知らないで使っている方も決して少なくはありません。
そう言った一般のネットユーザにとって、排除されると言うのはこれ以上無い迷惑に決まっております。
ましてや、一般のネットユーザは決してウェブヲタクの為にウェブを見たりウェブコンテンツを作って公開している訳ではない筈です。
ウェブ標準化団体・W3CはこれまでにストリクトHTML/XHTMLやCSSなど新しい規格を次々と策定してきました。
新しい規格が策定されると、旧いユーザエージェントを排除してでも普及させるべし
と考える愚か者もいるようです。
しかし、W3Cは新しい規格を策定するに当たって旧来のユーザエージェントを力ずくで排除しようとした事はありません。
それどころか、規格の策定や勧告において、勧告前に作られた旧式のユーザエージェントに対する後方互換性の確保は最重要テーマの一つとなっております。
実際、HTML 4.01の仕様書と付録のDTDには、backward compatibility(後方互換性)やそれと同様の言葉が少なくとも16回出てきます
。
また、後方互換性を配慮して一度勧告した仕様を修正する事さえあります。
つまり、旧来のユーザエージェントを力ずくで排除しようと言うのは、W3Cの御教えに反する行為と言えるのです。
見栄えで飯を食っている人が大勢いるこの世の中で、と言ってまでCSSを否認したどこぞのウェブ制作入門サイトの発想と大同小異だと思います。見栄えは無意味だは、その人達に対する侮辱でしょうか
またCSSが思い通りにならないなら否認してよいと言うなら、CSS非対応環境は真先に否認されなければおかしいですね。その中にはテキストブラウザや音声ブラウザなども含まれますが、そんな環境を無視して例えば絶対にやってはいけないとされる"ズレカケ影文字"をやっても許される事になってしまいます。
W3Cは、どんな環境でも適切に利用出来るウェブを目指しております。
いわゆるアクセシビリティの向上を目指している訳です。
例え実装に問題があるからと言って、適切に利用出来なくて良いと言う理由にはならないと言う事でしょう。
旧式ユーザエージェントや問題のある環境での閲覧性を保証する事も、アクセシビリティの一環だからです。
W3Cが標準規格の策定を推めたのは、どんな環境でも問題が起こらないようにするためだった筈です。
標準とは特定ユーザエージェントに利するようなものでも無ければ、特定ユーザエージェントを排斥するためのものでもない筈です。
いや、標準が特定のユーザエージェントを排斥するためのものとして悪用されるのなら、そんな標準など無い方がマシですし、そもそもそんな目的でヴェンダが集まって標準を策定したのではない筈です。
語弊を省みずに言うなら、標準は万人のものであっても、誰のためのものでもないのです。
ですから、特定のウェブユーザエージェントの支持者が他のユーザエージェントを排除するための口実として持ち出すと言うのなら、理念の歪曲と言わざるを得ません。そう、標準とは特定ユーザエージェントの支持者のためのものではないからです。
制作者が平成16年 5月に起きた特定ユーザエージェント排斥運動に反感を覚えたのはこれが理由でした。
ユーザエージェント排除が功奏して首尾よく見られなくなった閲覧者が苦情を言った際に「見られない旧式のユーザエージェントなんか使う方が悪い」と言うなら、アクセシビリティについて再度学習し直しなさい。
アクセシビリティは障害者対策だけでなく、どんなユーザエージェントでも問題無く情報を利用出来るようにするためのものでもあるからです。
アクセシビリティの確保のために、標準規格があるのです。
アクセシビリティを破壊するために規格を普及させる事は絶対に許されない事なのです。
暴言承知で言うなら、アクセシビリティは標準規格に優先するものなのです。
もう一つ言うなら、特定ユーザエージェントの否認は、即ちHTMLやW3Cの理念の否認と同義なのです。
インターネットエクスプローラ 3.xやネットスケープ 4.xは論外にしても、インターネットエクスプローラ4.x以降やオペラ 6.xにもCSSの実装に大きな問題を抱えているようです。
そこで、これらのユーザエージェントで安全に閲覧出来るようなスタイルを作る事を考えて見ましょう。
一応、インターネットエクスプローラは最もシェアの高いユーザエージェントですので、いくらCSSを不適用にするのは問題無いからと言って、CSSを完全に不適用にするのは考えさせられますよね。
そこで、画面の色や文字の大きさなどの基本的なスタイルを決めたベーシックスタイル「Basic.css」と、もじらやオペラ 7.x以降などでより高度なデザインを実現するアドヴァンストスタイル「Advanced.css」と言う二つのスタイル定義ファイルに分割しましょう。
この二つのスタイル定義ファイルをインポートするスタイル定義ファイル「Style.css」を以下のようにして作ります。
@charset "shift_jis";@import "Basic.css";@import "Advanced.css" screen,projection;
インターネットエクスプローラはメディアタイプを指定した@import規則を認識出来ません。
オペラ 6.xも複数のメディアタイプを指定した@import規則を取扱えません。
これらの不具合を逆用して、インターネットエクスプローラやオペラ 6.xではベーシックスタイルのみをインポートすると言う訳です。