HTML5のドキュメントタイプ宣言(DOCTYPE)

私のホームページもHTML5へ対応すべく、作業を進めていますが HTML5でのドキュメントタイプ宣言(DOCTYPE)が気になったので調べてみました。

HTML5はSGMLベースではなくなった!?

HTML2.0からHTML4.01まではSGML文書の一種と定義されており、ドキュメントタイプ宣言(DOCTYPE)により 文書定義型(DTD)と紐付けられていました。

HTML5は、SGMLベースではなくなったため、文書定義型(DTD)と紐付けられることもなくなり、 次のようなシンプルな宣言となりました。

<!DOCTYPE html>

※HTML4.xの宣言については「HTMLの基本構造」でまとめています。

「文書定義型(DTD)が無いのなら、この宣言いらないのでは?」と思ってしまったのですが、 別の用途があるようです。一部のブラウザでは、DOCTYPEスイッチと呼ばれる機能でレンダリングモード(表示方法として「標準モード」や「互換モード」)を 切り替えるために使用されており、意図した形で表示するために必要となっています。

このため、HTML5ではDOCTYPE宣言を書く必要があります。