Status: 書き殴り宣言
HTML原理主義運動とは、とりあえず、誰もがちゃんと読め、 場合によっては共有や再利用できるようにするために、 規格通りにHTMLを書きましょうという運動である。
ま、とりあえず私からWebページ作成者様へのおねがいと 考えてもらえば十分である。
以下には、間違いや誤解をまねく表現が残っています。 また、江口の偏見やかなり奇妙な価値観もはいってます。 どこが間違いでどこが偏見か探しましょう:-) ぼちぼち直します。
たまたまあなたの使っているブラウザで正常に動作しているように思われたと しても、他のブラウザでは正しく見えない可能性があります。頼るべきもの は規格によって定められた文法しかありません。
HTML 4.01が W3Cの推奨になりました。 HTML 4.0仕様書の邦訳がありますので、ゆっくり読みましょう。 チュートリアルとしては、 Academic HTML が現在のおすすめです。
もちろん、<H1></H1>には日本語をつかってもかまいませんが、 titleは最低限どのようなブラウザでも読めるようにしておいたほうが よいでしょう。
たったこれだけのことで、画像を表示できない端末でも 読みやすくなります。
「alt=""の中に何を書けばいいのか?」という疑問がおこりますが、 普通は空のままでいいでしょう。[icon]や[image]などという文字列を入れても 情報量は全然増えません。
たとえば、自分のページのタイトルの脇にかっこいいアイコンをつけたとしましょう。 しかしalt="nikki"などとつけても、「[nikki]原理主義者の日記」としか見えず、 ぜんぜん情報量は増えていないわけです。
そこに画像情報が存在するぞという情報を伝達したい場合のみ文字列を入れれ ばよいわけです。たとえば、顔写真を貼りつけて、alt="[原理主義者の顔]"という のを付けておけば、ぜひ顔を見たいという人は、画像の見えるブラウザを 使って見てみようという気になるかもしれません。
1byteのカナ文字(JIS X0201カナ)は使ってはいけません。たいがいの 日本語EUCを内部的に使っている端末で文字化けをひきおこします。 最悪の場合、ハングアップする場合もあります。
特にWINDOWS95に附属の日本語変換はどうも「」などの「役物」を 1byteにしてしまう癖があるようですので注意しましょう。
MS漢字コード(Shift-JIS)や日本語EUCは他のコードとの見分けが非常に困難です。 特に、1byteのカナを使ったMS漢字と日本語EUCはもはや原理的にも 判別することができないのです。Shift-JISコードを使う場合は、 明示的にcharsetを指定しましょう。
ときどき、1行が長過ぎると見にくいので<br>で1行ずつ改行する」 というひとがいますが、そんな必要はありません。 どの程度の1行がみやすいかはディスプレイ等に依存します。 最悪なのが、わざわざ改行を入れてくれたものを表示できない ディスプレイで見る場合で、非常に見にくいものになります。 (これは、IBM HomePage BUilderとかいうものを使っているひとに 多いようです。)
一般に、パラグラフの切れめに<br>を使うのは よいスタイルではありません。 ふつうにパラグラフは<p>を使って書けばよいでしょう。
インデントのために<DL>を使うのはあやまりです。 <DL>は、Defeinition Listです。つまり、言葉の定義など、 単語とそれに対する説明に使うべきです。 また、<DL>の中に<H>を入れることはできません。 HTML 4.0のスタイルシートを使いましょう。
<DL>の中は、必ず<DT>とそれに対応する <DD>の組でなければなりません。インデントのために <DD>だけつかっている人はまちがいです。
実は<DL>は入れ子にすることが可能なのですが、 あまりよいスタイルとは思えません。
<H>は、Heading(見出し)です。文字の大きさを表わすものでは ありません。大きな文字、小さな文字を使いたいときは、 HTML 3.2で定義されている<FONT>や<BIG><SMALL>などを 使いましょう。
また、<H>は順番に使いましょう。1が一番重要な見出し(ふつうは タイトル)、2はその次に重要なもの、そして3、4と続きます。 2の次が4などというのはよくないスタイルです。
また、<H>の前後は必ず改行されるということも覚えておきましょう。
これももはや、HTML 4.0のスタイルシートを使うべきでしょう。
<P>タグは段落のおわりではなく、先頭におきます。 実はこれは</P>と対にしてつかうものだ、ということは 知っていますか?(しかし</P>はいつでも省略できます)
正しいHTMLの先頭には必ずDOCTYPE宣言が必要です。 HTMLはSGMLという言語のサブセットであり、それが SGMLにそっていて、HTMLを使っているのだよ、ということを 一番最初に宣言しておくお約束になっています。
HTML 2.0レベルを使っているひとは
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
3.2レヴェルの<FONT>や<TABLE>なども使いたいひとは
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">を必ず先頭に入れておきましょう。この宣言の前に何か書いてはいけません。
また文書全体が次の例のような形になっているべきであることを 確認しておきましょう。
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN"> <HTML> <HEAD> <TITLE>Title of the Document</TITLE> ... 他のヘッダ </HEAD> <BODY> ここにいろいろ面白いことを書く </BODY> </HTML>
HTML 3.2で定義された<CENTER>はうまく使うと効果的なのですが、 地の文のインデントに使うと非常に見にくいものになってしまいます。あまり よくできていないブラウザを使っている人が、左側に空白をあけるために地の 文をTableで囲って、それをセンタリングしているのをよくみかけます。気分 はわからないでもありません。しかしこれは、左がわに空白開けてみやすくす ることのできないブラウザがよくないのだということを意識しておきましょう。 たとえばlynxというよくできたブラウザは地の文は数文字分インデントしてく れます。あなたのブラウザがすべてではないのだし、またそれが優れたブラウ ザであるということもあやしいのです。
これらの人がHTML原理主義者ではありませんが、 参考になるはずです。特に最初のものは、この手の文書の 決定版となるものだと思います。
さあ、よく知りません。純粋主義者puristってのもいるらしいですね。 こっちの方が近いかな?
たしかに、HTML 2.0は仕様が貧弱で、不満を感じることも多いと思います。 Netscapeなどが積極的に規格を拡張したために、よりきれいで便利なもの になったのも否定しません。また、「規格にこだわっていては、進歩がない」 というのにもある程度の真理が含まれているのも否定しません。
Netscapeの拡張はけっこうよく考えられていて、 「ちゃんと」書いておけば、たいていのHTML2.0対応のブラウザで うまく読めるようになっています。
したがって、問題はむしろ、Netscape拡張などをあやまって使ってしまうことに あるのです。あなたがやりたいことは、たいてい規格通りに書くことができるのです。 特に最近はHTML 3.2の規格がW3Cの推奨になりましたから、 TABLEやFONTの大きさ指定などもかなり自由につかえるようになりました。
問題は、「自分で読めるからいい」という考えかたなのです。 規格にそっていない文書は読めない場合があるのです。
あなたはわざわざインターネットとかいう広い世界で、あなたが 表現したいことを表現しようとしています。それは 一部の人にしか知られないようなものでいいのですか? なるべく多くの人によって読まれ、有効に活用してもらうことを 望めば、最低限の規格は守りたくなると私は思います。
そう、だから問題なのです。 他の人への影響という観点からも考えてみましょう。
あなたが作った文書が読めないものであっても、 それはしょうがないのかもしれません。あなたは 「読めるひとに読めれば十分」と考えているかもしれません。
しかし、ここで、教育効果というものも 考えてみてください。あなたの友人や後輩はあなたの 文書をまねてしまうかもしれません。その結果、あなたの友人の 文書はあなたの文書よりさらに読めないものになるかもしれません。 その人は、あなたと違って、皆に読めるページを目指しているのかもしれませんが、 結果的には読めないページを書いてしまうのです。
そのようにして誤解が広まり、結果的に、本来はみんなが楽しむことの できたはずのページが一部のひとにしか読めないものになってしまうのです。 また、一度ひろまった誤解を修正する手間はたいへんなものになります。 (実際、原理主義者でいることはけっこうたいへんなことなのです)
有用なページ、人気のあるページを書ける人、それを目指す人ほど、教育効果を 考慮してほしいと思います。
そんなに工夫する必要はないのです。もちろん、あなたの書きたいことを 素直に表現するのが一番よいことなのだと私は信じています。
ではみなさん、楽しくて誰でも読めるページをおねがいします。 Have Fun!
ご意見、ご批判は eguchi.satoshi@gmail.com にメールしてください。