HTMLを書くにあたって


 ちょっと前までは、HTMLを書くとなるとエディタでいちいちタグ を埋め込みながら、というのが普通でしたが、今ではHTMLエディタや、 ワープロ用のアドインソフトなど、いろいろな道具があります。 しかし、これらのツールは「見栄え重視」「構造無視」「日本語は 苦手」といった欠点があり、そのままWWWサーバにおいておくと 「読めないナリ〜」といった苦情が来たり、気まぐれにView Source をしたら火星語にしか見えなかったりするという欠点があります。 「HTMLエディタは使っちゃだめ」ということはありませんが、 生成されたHTMLをsourceで見てチェックするくらいはした方が よいでしょう。私が気を付けるべきだと考えているのは次の ような物です。

DOCTYPEは?
 DOCTYPE宣言は、HTMLのバージョンなどの基本的なことを指定 する物で、本当は全てのHTMLの最初の行で宣言しなければ ならないものです。しかし、HTML3.2(クーガー)までは日本語に対応した 形式が無かったため、妥協して英語用の宣言を付けたり、潔く宣言しない といったバラバラの対応でお茶を濁していました。また、NetscapeNavigator は公式の仕様書が発表されていないため、独自拡張タグを使用した場合に どの宣言をつければよいのかがはっきりしていません。一部の有志が Navigator対応のDOCTYPEを考案して発表しましたが、ここ数ヵ月 fj.net.infosystems.www.*を読んでいないのでどうなったか知りません。
 ちなみに、私はcharset共々付けていません。
charsetはあってる?
 たまに、矛盾する2種類のcharsetが記述されていることがあります。 たぶん、途中で変えたのを削り忘れたのでしょう。
タグの閉じ忘れは?
 基本です。チャットや掲示版のCGIを組むときも、タグの閉じ忘れを チェックするように作っておくと気苦労が減ります。
全ての画像にはALT(注釈)とサイズ指定を!
 ALT="説明"とすることで、画像の自動読み込みをしていない/ できないブラウザで読んでいる人にもどんな画像があるのか分かります。 凄い人になると、画像をアスキーアートに変換した絵が張り付い ていたりします。
 また、サイズ指定をするのは、ブラウザがレイアウトを決定するのに 必要だからです。この指定があると、画像読み込みが終っていなくても 始めから正しいレイアウトで表示できます。
<TABLE>の中にはLinkを埋め込まない
 TABLEタグは、Lynxなどではうまく動きません。Linkがたどれない のはその典型です。
注:最近のlynxはなんとなくたどれるようになっているようです。だから、 この件に関しては解禁かも?
フレーム機能を使うときは、リンクがちゃんと表示されるように 気をつける
 イメージマップ機能を使っていたり、フレームのサイズ指定を ピクセル単位で行っていると、画像のロードに失敗したときや大きな フォントを使っている環境ではリンクが最後まで表示されないことが あります。SCROLLING="auto"にし、NORESIZEは指定しないのがマナー でしょう。デザインの都合でこれらの機能を使わざるを得ない場合、 せめてフレーム機能無しのページも用意するべきです。
JavaやJavaScriptはお遊び程度に
 窓の杜が リニューアルされましたが、以前よりも評判が悪いようです。それと いうのも、紹介されているソフトをダウンロードするためには JavaScriptに対応したブラウザを使わなければならないからです。 NCSA MOSAICやLnyxといった、軽いけれどもJavaScriptの動かない ブラウザではなにもできません。また、安全のためにJavaScript が動作しない設定になっている場合も同じです。
 多くの人に見てもらいたいページならば、基本的なHTMLタグと 「知恵と勇気」で切りぬけたいものです。「JavaScriptがあれば より楽しい」というような使い方ならば問題はないでしょう。
 注:本当は、窓の杜の評判が悪いのには他にも理由があります。 Hot Cornerや頑張れゲイツ君を読んでみてください。
捕捉:
 窓の杜はその後改善され、JavaScript無しでもダウンロード可能に なりました
ActiveXは止めよう
 危ない上に、Windows95/NT/98上でしか動かないというのは ちょっと……。まだしも、対応環境の多いJavaの方がましでしょう。 SegaSaturnInternetやピピン@ではやっぱり動かないでしょうが。
ファイル名は半角英数で
 極まれ程度の割合だと思いますが、ファイル名に全角文字を 使っていたり、場合によっては半角カナを使っているWWWページを 見かけます。しかし、WindowsNTといった一部の例外を除いては、 WWWサーバのほとんどはUNIX系のOSで動作しています。
 つまり、全角文字には基本的に対応していないのです。 大手のワークステーションともなるとEUCに対応していることは ありますが、ほとんどのユーザはOSにWindowsやMacOSを 使っているので、全角文字というとシフトJISコードです。
 こういった、サーバが対応していないファイル名を使うと、 見ようと思ったファイルがうまくロードできないことがあります。 また、あとでゆっくり見ようと自分のマシンのディスクにセーブ しても開けないといったこともあります。例としては ここ があります。Navigatorを使っているならば、Document Sourceか Document Infoを試してみてください。なんだか分からない ファイル名があるでしょう?これは、CGIの引数と同じ方法で エンコードされているからです。
#半角カナは問題外としても、ファイル名に日本語を使うのは 止めた方がいいです。NTサーバを使っていればサーバ上では 問題ありませんが、URLを指定するときに、日本語のような 非ASCII文字は%E9%C2("鯆"の場合)のように文字コードを16進 数で指定しなければならないからです。当然、リンクを埋め込む ときもこの形式にしなければなりません。一部のHTMLエディタや WWWブラウザはこの変換を自動的にやってくれますが、見ていて 気持のいい物ではありませんし、動作が保証されたものでも ないので止めた方が安全です。ファイル名なんてローマ字でも 良いのですから。
#おまけに、オートパイロット使うとうまく取れない/見られない ことがあるんですよね……

 いろいろ書いてありますが、jweblintなどのHTML評価ツールや それらをCGI化した便利なページがありますから、更新のついでに チェックしておく事をお勧めします。全てがチェックできるわけでも ありませんが、ほとんどのブラウザで表示できる程度には 改善できるはずです。


[index]