# HTML5 doctype

> Azt nézzük, hogy az oldal <!DOCTYPE html> sorral kezdődik-e; enélkül a böngésző kompatibilitási módban rajzolja ki, és a CSS másként viselkedhet.

A doctype az oldal első sora, ami a böngészőnek megmondja, melyik szabálykészlet szerint értelmezze a HTML-t. A modern, HTML5-ös doctype egyetlen rövid sor: `<!DOCTYPE html>`.

Ha hiányzik vagy hibás, a böngésző **kompatibilitási módba (quirks mode)** vált, ami a régi, hibás böngészők viselkedését utánozza. Ilyenkor a CSS néhány szabálya másként számolódik (például a dobozok méretezése), és az oldal különböző böngészőkben eltérően nézhet ki. A doctype egyetlen célja az MDN szerint éppen az, hogy megakadályozza ezt a váltást.

## Hogyan mérjük

A riport a nyitóoldal HTML-jének elejét nézi: eltávolítja az elején álló szóközöket, sortöréseket és a bájtsorrend-jelet (BOM), majd megnézi, hogy a szöveg `<!doctype html` karakterekkel kezdődik-e (kis- és nagybetűre nem érzékenyen).

- **Megfelelő:** a tartalom `<!doctype html` kezdetű.
- **Hiba:** bármi más áll az elején (más doctype, megjegyzés, szöveg, PHP-hibaüzenet), vagy nincs doctype.
- Ha a nyitóoldal nem HTML, a teszt nem értékelhető, és kimarad.

A teszt csak a kezdetet vizsgálja. A régi, hosszabb doctype-ok (például XHTML-es változatok), amelyek szintén `<!DOCTYPE html` kezdetűek, a teszten átmennek, ezért ezeket magadnak kell ellenőrizni. A HTML-szabvány szerint a doctype előtt megjegyzés is állhat; a riport ezt hibának veszi.

## Hogyan javítsd

Az oldal első sora legyen pontosan ez:

```html title="HTML"
<!DOCTYPE html>
```

Semmi nem állhat előtte, csak szóköz vagy sortörés.

### WordPress

A téma `header.php` fájljának legelején legyen ez a sor. Ha a doctype megvan, de a kimenet mégsem azzal kezdődik, akkor valami korábban ír ki: egy `<?php` előtti szóköz vagy sortörés egy bővítményben vagy a `functions.php`-ben, egy PHP-figyelmeztetés, vagy egy gyorsítótár-bővítmény által beszúrt megjegyzés. Nézd meg a kimenet nyers forrását (`curl`), és keresd meg, mi áll a doctype előtt.

## Hogyan ellenőrizd

Futtasd újra a riportot. Parancssorból:

```bash title="Terminál"
curl -s https://pelda.hu/ | head -c 100
```

A kimenet első sora `<!DOCTYPE html>` legyen. A böngészőben a konzolba írt `document.compatMode` értéke `CSS1Compat`, ha az oldal szabványos módban van, és `BackCompat`, ha kompatibilitási módban.
