DOCTYPE宣言は、HTML文書では第1行めに<HTML>タグよりも前に書かれる。 HTMLのヴァージョンによって以下のようなDOCTYPE宣言の種類が存在する。
このDOCTYPE宣言はその文書が「HTMLの文書である」ことをSGMLの文法に則って宣言するものだ。 本来、この宣言が1行めになければHTMLの文書であるとは言えないわけで、必須のものである。 HTMLはSGMLの1アプリケイションにすぎないので、その文書が(ほかのものではなく)HTMLの文書 であることをSGMLのやり方で宣言するわけである。
とはいえ、現実に存在しているHTML文書で、このDOCTYPE宣言を書き忘れているものは あまりにも多い。 1行めにこのDOCTYPE宣言が書いてなくても、ブラウザーは「書いてないときにはHTMLにちがいない」と 適当に推測して解釈するためのだ。 たいがいのブラウザーは、読み取るHTML文書が、多少の文法的誤りを含んでいても、 推測できるときには推測して「なんとか表示する」ことを方針としている。 いちいちエラーメッセージを出して停止するよりも、何らかの形で表示できたほうが便利だからだ。 しかし、それはブラウザー側の都合にすぎない。