HTML 4.01 厳密なHTML文書の書き方
WWW を遊びだと考えている一部の人々によって、WWW の学術的な利用価値が低下しているというと事態が発生しています。WWWに関する書籍の著者・研究者は、厳密なHTMLの記述方法を学ぶ義務があります。
これから学習する方は、既存のHTML書籍の99%は、なんらかの間違いを含んでいることも覚えておいてください(私のサイトも同様)。
ちなみに、以下のバナーの含まれているサイトは W3C に関する検証を行って、妥当性を認められています。
W3C が提供する HTML Vaildator によって検証し、その妥当性が認められた文書のみ、表示できます。
W3C が提供する CSS Validator によって検証し、その妥当性が認められた文書のみ、表示できます。
W3C と HTML 4.01 厳密なHTML文書の書き方
誤りが多発するのは、規定を調べたことが無いためです。参考にするのは、既存の本。そして、その本が間違っている。けれども気づかない。こうして、間違いは延々と蔓延しているのです。
World Wide Web Consortium(W3C)とは
ブラウザの主導権争いは、Microsoft社とNetscape社で激しい競争を繰り広げ、おもしろい表現を求めてそれぞれ独自のタグを勝手に追加してきたため、双方のブラウザで互換性がなく異なった表示になってしまうという困った状況になってしまった。
これらの無益な拡張を避けるため、現在では、WWWに関する規格決定は、W3C(World Wide Web Consortium) という非営利団体が行ってる。
HTML・スタイルシートの背景
W3Cは1997年12月にHTML 4.0規格を策定しました(1999年12月に多少改訂され HTML 4.01 となりました)。
この新しいHTMLでは、文書の論理的枠組みを記述するというHTML本来の目的に添った部分だけを残し、見栄えを飾るための仕組みはスタイルシート(CSS)という別の枠組みに移しました。
つまり、HP作成には「HTML」と「スタイルシート」の知識が必須という事になります。
よくある誤り
W3Cの仕様書を読まず、作成した人、書籍を記述した人の陥り易い誤りです。
- <html>から始まる
- HTML文書は文書型宣言で始まります(その前に注釈宣言や処理命令を入れても構いませんが)。<HTML>タグは省略可能ですから書かなくてもかまわないくらいですが、文書型宣言は省略できません。
- 整数値以外は全部引用符囲まなくてはいけない
- やたらいい加減な説明で済ませている本もあります。全てを引用符「""」で囲む必要はありません。
- 値が英数字、ピリオド "."、ハイフン "-" から成り(いずれも半角の)、72文字以内の文字列のときは引用符で囲む必要はありません
- ただし、HTML4.0(J)では、名前文字に下線 "_" とコロン ":" が追加されました。
HTMLの知識
実際のHTML記述方式は次のようになります。
<!DOCTYPE html public "-//W3C//DTD HTML 4.01 Transitional//EN"><html lang=
"ja"
dir="ltr"
><head>
<meta http-equiv=
"Content-Style-Type"
content="text/css"
><meta http-equiv=
"Content-Type"
content="text/html; charset=Shift_JIS"
><link href=
"./style.css"
rel="stylesheet"
type="text/css"
><link rev=
"made"
href="mailto:hoge@hogehoge.co.jp"
><link rel=
"index"
href="./index.html"
><title lang=
フォーマット"ja"
></title>
</head>
<body>
本文(画面に表示したい文章・画像等)</body>
</html>
!DOCTYPE 必須
文書型宣言をつけることが「推奨されている」とか言っている人がいますが、違います。HTML3.2 にしても HTML4.0 にしても、仕様書にははっきり必須だと書かれています。
HTMLには、いろいろな仕様(ヴァージョン)があります。
- HTML 2.0
- HTMLの基本仕様でフォームをサポートしてます。
- <!DOCTYPE html public "-//IETF//DTD HTML//EN">
- HTML 3.2
- HTML 2.0にフォント属性とテーブルが追加されてます。
- <!DOCTYPE html public "-//W3C//DTD HTML 3.2 Final//EN">
- HTML 4.01
- フレーム及びスタイルシートをサポートしてます。現在の標準です。
- <!DOCTYPE html public "-//W3C//DTD HTML 4.01//EN">
DOCTYPE宣言(文書型宣言)は、文書がHTMLであり、さらにどの仕様のHTMLで書かれているのかを明示するものです。(ちなみにDOCTYPE宣言は
マーク宣言であってタグではありません。)
html 省略可能
開始タグは省略することができます。だからといって、省略はしないようにしましょう。
lang 属性で文書全体の言語を指定しておきましょう。指定しない場合、言語コードは"UNKNOWN"となります。
また、国際化も配慮して書式方向を指定するdir 属性でrtl(右から左)を記述しておきましょう。
head 省略可能
省略可能ですが、HTML4.0 で OBJECT や SCRIPT を使用するときには、正しく終了タグを補えない可能性があります。
いずれにしても、省略しないようにしましょう。
meta http-equiv="Content-Type" 必須
charsetで文字コードが指定されて始めて、そのリソースがどの文字コードで書かれているか分かります。Windowsの文字コードはShift-JISです。 charsetの値は
-
JIS → "ISO-2022-JP" Shift-JIS → "SHIFT_JIS" EUC → "EUC-JP"
となってます。
link 必須
<link> を用いて、複数のHTML文書間の関係を記述することができます。
Lynx、Mosaicなどの一部のWWWブラウザは、この情報を解釈して、このメールアドレスへ直ちにメールを出したりできます。HTML作者を明示するためにも、このタグは入れるようにしましょう。
その他、外部スタイルシートを参照するために使うことができます。
title 必須
どの HTML でも、タイトルは絶対に省略できないことになっています。省略されてしまっている時、仕方なしにファイル名を表示するブラウザが存在しますが、それは単なるエラー処理の結果に過ぎません。特定ブラウザのエラー処理に依存した悪質な解説です。
「お気に入り」に登録される名前として使われます。 言語コードを lang="ja" で示しておきましょう。
body 省略可能
HTML の本文を記す部分です。HTML4.0 では BODY 直下にインライン要素を含むことができなくなりました。
終了タグ開始タグ共に省略可能ですが、省略しないようにしましょう。
なお、HTMLで色指定をすることは、ある人々に不利益をもたらすため、HTML4.0 から「background」「bgcolor」「text」「link」「vlink」「alink」は、すべて非推奨となっています。代わりに、スタイルシートの使用が推奨されています。
スタイルシートとの共存
HTML4.0では
文書構造を記述するという本来の目的からは外れたタグ
は非推奨となっています。
これらのタグは、すたれつつあるタグです。将来はサポートされなくなる可能性があるので、使わないようにしましょう。方法は、次のように代替のタグを使うか、スタイルシートを利用します。
-
<center> → <div align="center"> <dir> → <ul> <menu> → <ul> <isindex> → <input> <xmp> → <pre> <applet> → <object>
他に<font><u>なども推奨されません。<b>や<i>も今後は可能性があります。
とはいっても、スタイルシートをサポートしてるWWWブラウザは最近のMozillaとMSIE程度で、それらもまともにサポートしていません。
さらに学習したい人へ
ここに書いていることは、ほんの一部でしかありません。より厳密に知りたい方のためにリンクを貼っておきます。
- W3Cの仕様書等の文書の日本語訳集
- W3Cの公式サイトの日本語訳です。英語が読める方は、日本語訳内に公式サイトへリンクがあります。
- ウェブコンテンツ・アクセシビリティ・ガイドライン1.0 技術書
- ウェブコンテンツ・アクセシビリティ・ガイドライン・ワーキンググループによって作成および是認された一連の技術ノートの中の一文書です。
- Webサイト作成にあたり障害者や高齢者など、一般に情報弱者と呼ばれる人々に対してどういった配慮をするべきかという点をまとめたもの
- MarkUp Validation Service
- W3Cの公式サイトのHTML文法チェックです。正しいと判定されると、バナーを貼る事が許可されます。
- Another HTML-lint gateway
- 自動で、HTMLの文法をチェックしてくれます。まずは自分の文法の誤りを知りましょう。
- W3C CSS 検証サービス
- 同じく自動で、CSSの文法をチェックしてくれます。まずは自分の文法の誤りを知りましょう。
- ミケネコ研究所
- インターネットの面白さを追求する研究などを行っており、得られた成果の一部を公開しています。
- 正しいhtmlとcssで作るstrict page
- HTMLとCSSに関してのリファレンスが置いてあります。質問掲示板もあります。
- あやしい本
- HTMLに関して、あやしい本の氾濫に一喝いれたサイトです。
- のけぞる本!
- 世間に出回っている HTML 解説本、解説サイトの誤りを記述しています。
オススメ書籍
HTML5、CSS3、JavaScript等の学習に役立つ書籍を紹介します。