DOCTYPE宣言

DOCTYPE宣言とは

DOCTYPE宣言とは、HTML文書がどの定義に基づいて記述されているかを宣言するために使用します。

HTML4.01の勧告に準拠するならDOCTYPE宣言は必須です(これからは「HTML4.01の勧告に準拠するなら」といった断りは入れずに話を進めます)。

DOCTYPE宣言は現在のところほとんどのブラウザに無視されますが、将来にわたって安全に表示できるサイトを作りたいのであれば書きましょう。

極端な話、DOCTYPE宣言を正確に行っていないと明日自分のサイトが見れなくなってもなんら不思議ではないのです。

ちなみに、DOCTYPE宣言はHTMLのタグではなくSGMLのマーク宣言というものです。

DOCTYPEの種類

HTML4.01で使用できるDOCTYPEは以下に示す3つがあります。

Strict

Strictは最も厳しいDOCTYPEで、文字修飾系のタグは使用できません。

見栄えの情報は全てスタイルシートに任せることで、最も可搬性に優れたDOCTYPEです。

特別な理由がない場合はこのDOCTYPEを使用しましょう。

Transitional

TransitionalはHTML4.0以前からの乗り換えように使用できるよう、一部の文字修飾系のタグを許したDOCTYPEです。

一から作る際は使用すべきではありませんし、HTML4.01に直す場合も出来る限りStrictを使用しましょう。

Frameset

フレームが使用できるDOCTYPEで、最も制限が緩くなっています。

しかしフレームは一部のブラウザにしか対応していない一種の独自拡張タグですので、使用するべきではありません。

フレームでやりたいと思うことはスタイルシートや他の手段(JavaScriptなど)で代替可能ですから、このDOCTYPEは使用すべきではありません。

DOCTYPE宣言の書き方

では実際にDOCTYPE宣言を書いてみましょう。

DOCTYPE宣言はファイルの一番上に記述します。

以下の例ではStrictを取り上げていますが、4.01//ENの部分を各DOCTYPEに変え、Strict.dtdの部分を他のDOCTYPEに変えることで他のDOCTYPE宣言となります。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML本体と違いDOCTYPE宣言では大文字・小文字を区別しますので、上の通り間違いなくタイプしてください。

厳密にはURLの部分を省略することも出来るのですが、省略しないほうが望ましいので常に記述してください。