A doctype, a charset és a viewport az a három sor a HTML-dokumentum elején, amely eldönti, milyen szabvány szerint értelmezi a böngésző az oldalt, milyen karakterkódolással olvassa a szöveget, és milyen szélességűnek hiszi a képernyőt. Mindhárom egysoros deklaráció, mégis az egész renderelés múlik rajtuk.
Mit csinál külön-külön
<!doctype html>: ez kapcsolja a böngészőt standards mode-ba. Ha hiányzik, quirks mode indul, ahol a dobozmodell és több CSS-szabály máshogy viselkedik.<meta charset="utf-8">: megmondja, hogyan kell byte-okból betűket csinálni. UTF-8 nélkül a magyar ékezetek elromlanak.<meta name="viewport" content="width=device-width, initial-scale=1">: ez mondja a mobilböngészőnek, hogy a valódi kijelzőszélességgel dolgozzon. Enélkül kb. 980 pixeles virtuális ablakot szimulál, és kicsinyítve mutatja az oldalt.
Hogyan működik a gyakorlatban
A böngésző a dokumentum elejét olvassa be először. A karakterkódolást a specifikáció szerint az első 1024 byte-on belül kell megtalálnia. Ha a meta charset lejjebb csúszik, a parser már elkezdte rossz kódolással értelmezni a szöveget, és újraindítja a feldolgozást.
Egy dolgot érdemes tudni: a HTTP Content-Type fejléc erősebb a meta tagnél. Ha a szerver charset=ISO-8859-1 értéket küld, a HTML-ben lévő UTF-8 deklaráció nem menti meg az oldalt.
Miért más ez a gépi olvasóknak
A keresőrobotok és a nyelvi modellek ugyanazt a nyers HTML-t kapják meg, mint a böngésző. Rossz kódolás mellett az ékezetes szavak á és Å‘ alakban érkeznek meg hozzájuk. Ilyenkor a „szőlőtermesztés” szó már nem az a szó, amire keresnek. A hibás kódolás ráadásul a lang attribútum (nyelvi jelölés) nyelvi jelölésével együtt ronthatja a nyelvfelismerést is.
A doctype hiánya a W3C HTML-validáció során azonnal kiderül, és rendszerint együtt jár elavult HTML-tagekkel. A riportokban ez a kombináció a jellemző: ahol nincs doctype, ott <center> és <font> is van.
Mit néz ebből a riport
Az audit „Alapvető dokumentum-beállítás” szabálya a forráskód első néhány száz byte-ját vizsgálja. Azt nézi, hogy van-e <!doctype html>, <meta charset> és viewport meta tag a fejlécben. A hatás közepes, a hatókör kód: fejlesztői beavatkozás kell hozzá, de általában egy sablonfájl egyetlen sora.
Röviden: három sor a
<head>elején, ami nélkül a böngésző, a keresőrobot és az AI is találgatni kezd.