A HTML5 specifikáció újdonságai számosak, és ezek közül sokat már a böngészőkörnyezet nagy része támogatja – az alábbiakban egy érdekes változást szeretnék kiemelni az elemek egymásba ágyazására vonatkozó szabályokkal kapcsolatban. A HTML mindig is különbséget tett a blokk és a soron belüli elemek között. Például a HTML4 dokumentumtípus-definíciója a h1, p és div elemeket blokkelemként, az a, span és img elemet pedig soron belüli elemként sorolja fel.
Ezt a koncepciót most (jó okokból) elhagyták. Bizonyos felhasználási esetekben sok webdesigner figyelmen kívül hagyta az említett fészkelési szabály helyességét, miszerint egyetlen blokkelem sem helyezhető el az inline elemekben, vagy a szokásos viselkedés CSS-szabályok, például a display: inline; vagy kijelző: blokk; (ami gyakran érvénytelen kódhoz vezetett) minden további nélkül.
A HTML5 most tompítja ezt a megkülönböztetést, és még 9 különböző kategóriát is megnevez, amelyekhez egy elem tartozhat, ezáltal egy elem több kategóriába sorolható. A blokk és az inline elemek régi megkülönböztetését túlzásba vesszük, és figyelembe vesszük az interneten található címkék jelentésének sokaságát. Ennek különösen az a következménye, hogy a következő konstrukciók érvényes kódot képviselnek:
<a href="#">
<div>
<h1>Yeah</h1>
<p>
Der ganze Block ist verlinkt.
</p>
</div>
</a>
A további blokkelemeket tartalmazó teljes tároló összekapcsolása korábban (érvényes kóddal) csak trükkökkel volt lehetséges (például egy összekapcsolt fedőréteg abszolút pozicionálásával). Alternatív megoldásként a címsort és a bekezdést összekapcsolták – ez viszont redundanciához vezetett, és a tároló nem volt kattintható. A HTML5 üdvözlő kiterjesztésének köszönhetően ez már nem probléma.