戻る

HTML5でDOCTYPE宣言を記述する理由

HTML4.01やXHTML1.0でDOCTYPE宣言の記述が必要なのは、DTD(Document Type Definition)を明示するためです。DTDはマークアップに使用するタグや属性を定義したもので、「文書型定義」とも呼ばれます。

これにたいし、HTML5ではDTDを明示する必要がなくなっています。しかし、ブラウザが下位互換モードでの表示になるのを防ぐため、DOCTYPE宣言の記述は必須です。

主要ブラウザは「DOCTYPEスイッチ」と呼ばれる機能が用意されており、DOCTYPE宣言の記述によって標準準拠モード(Standard mode)と下位互換モード(Quirks mode)が切り替わります。下位互換モードはInternet Explorer 5.x時代のWebページを表示するために用意されたもので、スタイルシートが標準規格とは異なる解釈で適用されます。

現在のところ、Internet Explorer、Chrome、Safari、Firefox、Operaといった主要ブラウザにおいて、DOCTYPE宣言の記述がない場合は下位互換モードに切り替わります。そのため、HTML5ではDOCTYPE宣言の記述を必須とし、標準準拠モードでの表示となるようにしています。

○ … HTML5に従った記述。

<!DOCTYPE html>
<html>
<head>
…

HTML5のDOCTYPE宣言を記述したもの。標準準拠モードで表示されます。

× … HTML5では違反となる記述。

<html>
<head>
…

HTML5のDOCTYPE宣言を省略したもの。下位互換モードで表示されます。

inserted by FC2 system