Innovationerne i HTML5-specifikationen er talrige, og mange af dem er allerede understøttet af størstedelen af browserlandskabet - nedenfor vil jeg gerne fremhæve en interessant ændring af reglerne for nesting-elementer. HTML har altid skelnet mellem blok- og inline-elementer. For eksempel viser HTML4's Document Type Definition h1, p og div som blokelementer og a, span og img som inline-elementer.
Dette koncept er nu opgivet (af gode grunde). I nogle anvendelsestilfælde ignorerede mange webdesignere rigtigheden af nævnte indlejringsregel om, at ingen blokelementer må placeres inden for indbyggede elementer eller standardadfærden ved hjælp af CSS-regler såsom display: inline; eller display: blok; (hvilket ofte førte til ugyldig kode) uden yderligere ado.
HTML5 blødgør nu denne skelnen og navngiver endog 9 forskellige kategorier, som et element kan høre til, hvorved et element kan være i flere kategorier. Den gamle sondring mellem blok- og inlineelementer kastes over bord, og der tages hensyn til de mange forskellige betydninger af tags på nettet. Dette har især den konsekvens, at de følgende konstruktioner repræsenterer gyldig kode:
<a href="#">
<div>
<h1>Yeah</h1>
<p>
Der ganze Block ist verlinkt.
</p>
</div>
</a>
At linke en hel container, der indeholdt yderligere blokelementer, var tidligere kun muligt (med gyldig kode) ved hjælp af tricks (f.eks. ved absolut positionering af et sammenkædet overlejringslag). Alternativt blev overskriften og afsnittet kædet sammen - det førte igen til redundans og containeren var ikke klikbar. Takket være den velkomstudvidelse af HTML5 er dette ikke længere et problem.