多くの方から、このページの内容は、純粋にスタイルシートを勉強しようとしている人の気力までも下げてしまうと、ご指摘をいただきました。
私としては、現時点ではまだまだ、Internet Explorer や Netscape Navigator 両ブラウザのスタイルシート対応状況が不十分な状況で、迂闊にスタイルシートを使うと、ブラウザのバグによってレイアウトが崩れてしまう、ひどい場合はまともに読めない状況であるにも関わらず、スタイルシートに移行することを人に押し付ける、使わない人を馬鹿呼ばわりする、さらには、スタイルシートを使っていないサイトのサーバを攻撃しようと呼びかける人達まで出現している状況で、初心者にに対して、「スタイルシートは現時点ではまだまだ『諸刃の剣』なんだから、闇雲に人に薦めるのも問題があるよ。ちゃんとブラウザが対応してから使おうよ。」と言いたかったのですが、論争になって(論争にして)しまい、また、悪い面ばかりを強調してしまい、多くの方に誤解を与えてしまったようです。すみません。
まだ議論の余地があるとも思いますが、その議論はまた別の機会として、とりあえず、このページの内容は撤回させていただきたいと思います。(2000.6.13)
W3Cがスタイルシートを発表し、「アクセシビリティ」という思想が広まりました。私自身が、スタイルシート に対してあまり好意的な記述をしていないので、スタイルシート擁護派の方から、たまにお叱りのメールをいただいたり、「ラウンジ」で喧嘩が始まったりすることがあります。
W3Cの言う、「アクセシビリティ」という思想がよほど格好よかったのか、「HTMLで見栄えを記述すべきじゃない!!」、「全員スタイルシートに移行すべきだ!!」、「古いブラウザは捨て去るべきだ!!」とまで言う人がいるのでちょっと困っているのですが・・・
この問題に関しては、私もいろいろな意見をもっていますので、文章としてはまとまっていませんが、すこし書き並べてみました。
まず最初に、スタイルシートに関して、私自身の答えとしては、使う、使わないも個人の自由だと思っています。
ところが、W3C信者の方々は布教活動に熱心な方が多く、他人が、W3Cの教えを受け入れないことに苛立ちを感じ、自分の信ずるものを他の人にも押し付けようという行動がたまに見うけられるように感じます。
99%の人が共有する価値観であれば、それに従うことも社会的モラルと言えますが、現状バラバラな価値観の状態なのに、自分の価値観を人に押し付けようとするため、「宗教的」「布教活動」といった、ちょっと、不適切かもしれない言葉で表現させていただきました。すみません。やはり、この節の表現は適切ではないようです。削除させていただきます。(2000.3.7)
W3C擁護派の人達の中には、「すべての人が即座にスタイルシートに移行すべきで、それをしないのは怠慢であり、W3Cに対する冒涜だ」のように感じている人がいるようです。
「いつまでも、古いブラウザのことを気にしているから、ブラウザをアップデートしない人が増えて、W3C様の教えが具現化できないじゃないか!」という意見もわかるのですが・・・
ワイドテレビの規格ができたんだから、すべての放送局はワイド放送以外流すべきではない。すべての人は古いTVを買い代えるべきで、古いTVを持っている人なんか無視するべきだ!! なんて変ですよね。
TVの買い替えは金がかかるが、ブラウザは無料だとは言っても、付録CDを得るには雑誌代だってかかるし、バージョンアップの仕方なんて知らないおじいちゃん、おばあちゃんだっているし、バージョンアップするには、PCをスペックアップする必要のある人もいるし・・・
W3C擁護派の方から、「いつまでも古いブラウザへの考慮を続けているから、W3Cや私の望む世界が具現化できないのだ!!」という趣旨の意見もいただいたことがあります。
将来のユーザーの利便性を大事にするのも、現在のユーザーの利便性を大事にするのも価値観の違いであり、ホームページ作者の自由だと思うのですが・・・
また、世の中には、Internet Explorer を使いたくても、UNIX端末しかないという理由で Netscape Navigator を使わざるをえない人もいます。
私個人の目安としては、古いブラウザの利用率が 1% を割れば、見捨ててもよいかな・・・と。PNGを表示できるブラウザが99%を超せばPNGを使うかもしれません。(それまでの間にGIFの特許も有効期限が切れる?) 目安を 1% とするか 3% とするか 50% とするか 98% とするかは個人の自由です。
私は、このページにも左右のインデントの目的で <BLOCKQUOTE> タグを使用しています。HTMLリファレンスで <H1> をフォントの大きさ変更のために用いるべきではないと言っておきながら、<BLOCKQUOTE> をインデントに用いているあたり、自分でも情けないと思うのですが・・・
私自身、視力があまりよく無いのでディスプレイの字を読むと目が疲れます。左右に適切なインデントをとるといった「目に優しいページ」をスタイルシート未対応のブラウザの人にも提供したいという考えから、現状はそのままにしています。
「<BLOCKQUOTE>で囲んでいるということは、この文章は引用であって、とほほさんの文章ではないんですね!?」という意見をいただいたこともありますが、たとえ肉切り包丁で切っても魚は魚だと思っています。
もちろん、古いブラウザの割合がもう少し減ってきたら、スタイルシートに移行したいと思っていますので、それまでは、スタイルシート擁護論に対する私のアンチテーゼだと思っておいてください。(^^;)
何故そこまで「インデント」などの見栄えにこだわるのか?インデントなどの「見栄えは」無意味だという意見もいただきました。だって、見栄えは大事でしょ。「見栄え」で飯を食っている人が大勢いるこの世の中で、「見栄えは無意味だ」は、その人達に対する侮辱でしょうか。
「見栄え」を主にする人も、「意味」を主にする人も、いろんな人がいていいですよね。
<FONT COLOR=red> はよろしくない。<SPAN CLASS=red> もスタイルシートを理解していない。赤くする時はどうして赤くしたいかを考え、それが例えば安さの強調であれば、<STRONG CLASS=lowprice> とするべきだ・・・という意見もありました。「直感的」というメリットをまったく無視してよいのであれば、それでもよいと思いますが、「直感的」が大切なケースもあります。
また、目の見えない人が音声ブラウザを使用する場合、「『赤い声』は意味がない」という意見もありましたが、「悲しいフォント」と似たようなもんだと思いました。見栄えや意味が記述してあって、自分が解釈できるものを解釈する・・・という考えも間違ってはいないと思います。
目の見えない人(中途失明者の場合にはことさら)にも「色」という概念はあります。もし、私の目が見えなくなっても、ハートマークは色無しではなく、赤かピンクであって欲しいと思います。
そういえば、「タグ」という言葉にもピクピクする人がいるようですね。HTML4.0に仕様書には「エレメント」と「開始タグ」「終了タグ」という言葉は存在するが、「タグ」という言葉は存在しない・・・らしいのですが(本当?)・・・
どうして、すべての人が仕様書の言葉をそのまま使わなくてはならないのか私には理解できません。日本国民は、著作権について論じる時も、著作権法に述べられている用語しか使用してはならないのでしょうか・・・「タグ」という言葉は存在しない・・・は嘘だそうです。すみません。ただ、用法が間違っていることが多いので、それを気をつけてほしいとのこと。「とほほのWWW入門」でも、間違った使い方をしていた個所がありましたので、修正しました。他に気づかれた方はお知らせください。(2000.3.6追記)
「ホームページ」という言葉や「HP」という略語にもピクピクする人がいます。「ハッカー」という言葉にもピクピクしているんでしょうね。私は、言葉の意味は時代によって変化するもの。言葉は複数の意味を持ち、状況に応じて判断されるべきもの。という思想の持ち主ですので、あまり気にならないのですが・・・
でも、少なくとも、「ヒットポイント」を「HP」と略すのは許せるのに「ホームページ」を「HP」と略すのは許せないとか、前後の文章から「ホームページ」の意味であることがわかるのに、わからない振りをして攻撃をしかけてくるのは、時代の流れについていけない人なんだなぁ・・・という感想を抱いてしまいます。
すみません。ちょっと、脱線してしまいました。
SGMLは、論文や仕様書やマニュアルのような「情報」を理路整然と記述することを目的として考案されたものです。初期のHTMLも同じ目的で開発されましたが、現在のHTMLは「情報」だけでなく、「見栄え」「インパクト」などいろいろなものを伝えるものとして利用されています。
また、SGMLを利用するのは技術者に限られているのに対し、HTMLは、小学生も、おじいちゃんも、おばあちゃんも、近所のおばさんも使います。
「HTMLオーサリングツールを使えば大丈夫」という意見もありましたが、利用者が選択範囲を「赤くする」操作を行った時、HTMLオーサリングツールは、どのようなタグを吐き出せばよいのでしょうか・・・
利用目的や利用者が異なるものを、無理矢理同じ技術や思想で縛ろうとしてしまったところに、W3Cの無理があったのではないかと思っています。
利用者が仕様を守る精神も必要ですが、利用者が守ることができる仕様を作る精神も必要だと思います。HTMLはもっと文法をルーズなものにして、初心者でも記述しやすいようにしてほしいものです。
「HTML4.0やスタイルシート(CSS)は『標準』なんだから従うべきだ。」という意見もありました。しかし、それは嘘です。HTML4.0、CSS1、CSS2 は「標準(Standard)」ではなく、「勧告(Recommendation)」です。Recommendationは「推奨」とも訳されます。
インターネット上の標準は通常IETFという機関で、最低2つ以上の実装例があり、互換性が保たれているか、仕様書の記述にあいまいな個所がないか、現状からの移行に問題は発生しないかなど、十分な審議をもって可決されます。
ところが、W3Cはこうした手順を十分にふまないまま「勧告」として公開してしまいした。逆に言うと、そういう手順をふまえずに発表しているから「標準」とは言わず、「勧告・推奨」としているのかもしれません。
マスコミも「勧告」と「標準」の違いも認識しないまま、HTML4.0を新しい「標準仕様」として宣伝しました。ただでさえ、Microsoft社のブラウザ無料攻撃にあって資金的にも苦しかったNetscape社が中途半端な対応版を出荷せざるを得なかった原因もそこらへんにあると思っています。
また、もし、本当に使用や標準に拘るのであれば、現在、IANAという組織によって管理されているMIMEタイプの「text/html」は HTML2.0 へのリファレンスしかもっていませんから、HTML2.0 のみが使用可能な標準ということになってしまいます。
もし、誰かが W4C という団体を設立し、FLEX-HTML1.0 (Flexible, Loose, Easy to learn and eXtensible HTML)という仕様を勧告したとします。
FLEX-HTMLでは、過去の歴史的なタグをすべてサポートします。<UL>~</UL> を <FONT>~</FONT> で囲んではならないなどの、難しい規則をできるだけ排除します。SGMLアプリケーションであることも放棄します。タグの拡張性ももたせます。ユーザーエージェントは自分の解釈できるタグや属性のみを解釈します。最低限解釈できなくてはならないタグなどを3段階程度のレベルに分けます。
そんな時、なにが「正しいHTML」か?ということですが・・・
- text/html の参照に従って、HTML2.0のみとする。
- もう少し視野を広げて、HTML4.0 や HTML4.01 とする。
- もう少し視野を広げて、W3C製の HTML3.2 も含むものとする。
- もう少し視野を広げて、SGML アプリケーションであるとする。
- もう少し視野を広げて、FLEX-HTML も含むものとする。
- もう少し視野を広げて、現状のブラウザの実装に即していればOKとする。
- もう少し視野を広げて、なんでもOKとする。
私自身は、6. 程度の考えなのですが、1. という人がいてもいいし、3. という人がいてもいいし、いろんな人がいてもよいと思っています。
「DOCTYPEは必ず必要だ!! HTML4.0にそう書いてある!!」と自信をもって言う人がいますが、私はそうは思いません。もし、そのドキュメントが本当に HTML4.0 に準拠しているなら、HTML4.0 のドキュメントタイプをつけるべきですが、準拠しているかどうか分からないのに、見様見真似でつけることは感心できません。
もし、そのドキュメントが、FLEX-HTML1.0 に準拠しているなら・・・DOCTYPEは不要です。
DOCTYPEは、そのドキュメントが、どの仕様に準拠しているかを明示的に示すものであって欲しいと思います。
NC4.0のCSS1実装がバグだらけで使い物にならないのは事実です。しかし、これは、Netscape社の怠慢だったのでしょうか?
私自身ソフトウェア会社に勤務しています。会社の利益、自分の給料、妻子のことを考えなければなりません。Internet Explorer と Netscape Navigator の戦争が激化し、バージョンアップ版の出荷を競い合っている最中、Microsoft社の資金力に Netscape社があえいでいる最中にあんな仕様を発表すれば、こうなることは予測できたのではないでしょうか。
もちろん、バグだらけのソフトを出荷したNetscape社に非が無い訳ではありません。でも、仕様を発表さえすれば、それを実装できるかできないかは、実装会社まかせというW3Cの行動にも非があったのではないでしょうか。
私は Microsoft よりも Netscape 擁護派なので、上記の意見はいくらか偏見があるかもしれませんが、少なくとも、仕様を検討するのが W3C ではなく、IETF であれば、もう少し違う状況になっていたと思います。
アクセシビリティは、「HTMLで見栄えを記述していない」ではなく、「見栄えの記述を無視しても理解できる」ことを観点にガイドやチェックリストを設け、その網羅度によってJISマークのようなマークをつけるようにして欲しいです。(すでにそういうガイドもありますが。)
<META NAME="Accessibility" CONTENT="Level1">街の中のすべてのポスターを点字にする必要はありません。ポスターや絵画があってもいいし、点字図書館があってもいいし、それらを全部包含した上で、点字図書館の蔵書が増えればいいな・・・と思っています。
W3C擁護派の方から、「ホームページ作成界におけるわたし(とほほ)の発言力は大きいので、個人的な意見(W3Cを非難する記述)は自重すべきだ」という意見をこれまでに何度もいただきました。
私は、「スタイルシート」を否定している訳ではありません。ただ、何も知らない初心者がホームページ作りを始める時、「今現在、使うとリスクがある」ということは言わなければならないと思っています。
また、私の管理する「ラウンジ」上で、スタイルシートを使わないという選択をした人に対して非難をあびせる人が居れば、注意する必要があると思っています。
今回のこのページは、そういう理由で作成させていただきました。