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宣言を省略したもの。下位互換モードで表示されます。