A HTML nyelv a kezdetektől fogva szigorú szabályokra épült. A Microsoft Internet Explorer és a Netscape Navigator harcának egyik mellékterméke, hogy a böngészők felismernek, értelmeznek olyan HTML oldalakat is, amelyek nem felelnek meg a szabványnak. Sőt a webfejlesztők ezekre a pontatlanságokra rá is szoktak, és ebből a korszakból sok máig is elérhető de elavult szemléletű, ismertető található a weben.

A HTML nyelv minden verziója, változata egy úgynevezett Document Type Definition (DTD) segítségével definiált. A böngészők számára segítség, ha a dokumentum elején pontosan leírjuk, hogy melyik verzióhoz tartjuk magunkat.

A HTML 4.01 változata 3 féle DTD-vel érvényesíthető.

A legpontosabb (strict) változat nem engedélyezi az elavult részek (többnyire formázó elemek és tulajdonságok) használatát, valamint a kereteket. A következő elemet kell a dokumentum első elemeként elhelyezni:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">[/codefilter_code]

Az átmeneti (transitional) DTD megengedi az elavult részek használatát is.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">[/codefilter_code]

Keretek használata esetén használható harmadik DTD-t gyakorlatilag nem fogjuk használni.

A HTML 5-ös verziója leegyszerűsíti a DTD használatot. Csupán ennyit ír elő:

<!DOCTYPE html>

Az oldalunk HTML szabványosságának ellenőrzésére több lehetőségünk van: