各 HTML文書は、 文書に付き従う HTMLのバージョンを宣言する 文書型宣言(document type declaration)ではじまらなければなりません。HTML 4.0には、各々 DOCTYPEの三つの異なる種類があります:
HTML 4.0 Strictは、体裁よりも構造を強調し余計なものを取り除いたHTML 4.0バージョンです。 旧式になる(Deprecated)要素や属性(大部分の体裁用のの属性がこれに含まれます)・ framesやlink targetsはHTML 4.0 Strictでは、許されません。HTML 4.0 Strictにそって記載すれば、 スタイル・シートや異なったブラウザに容易に適用できるアクセシブルで構造的に応用のある文書が書けます。しかし、多くのブラウザがスタイル・シートをサポートすれば、Netscape Navigator 3. xといったように普通のブラウザ上でだれでもが見られます。
HTML 4.0 Strictの文書型宣言は
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
HTML 4.0 Transitionalは、 HTML 4.0 Strictの全ての要素と属性を含みますが、さらに体裁用の属性、 旧式になる(deprecated)要素やlink targetsが加わっています。HTML 4.0 Transitionalは、 スタイル・シートはほんの少しのブラウザしかサポートしていなことを認めて、 HTMLにHTML 4.0 Strictへの移行期として使える体裁用の特徴を許しています。
HTML 4.0 Transitionalの文書型宣言は
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
HTML 4.0 Framesetは、 framesを使う文書のための HTML 4.0 Transitionalの一亜型です。 FRAMESET要素は、フレーム文書上で BODYを置き換えます。
HTML 4.0 Framesetの文書型宣言は
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
"http://www.w3.org/TR/REC-html40/frameset.dtd">