Disons que je veux écrire un menu simple en HTML5.
Devrais-je écrire comme ceci:
<h1>My Menu</h1>
<h2>Submenu 1</h2>
<nav>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
...
</ul>
</nav>
<h2>Submenu 2</h2>
<nav>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
...
</ul>
</nav>
Ou comme ceci:
<nav>
<h1>My Menu</h1>
<h2>Submenu 1</h2>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
...
</ul>
<h2>Submenu 2</h2>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
...
</ul>
</nav>
En d'autres termes, les titres doivent-ils être à l'intérieur ou à l'extérieur de la balise <nav>
?
Merci.
Selon les spécifications HTML5, "nav" est une "section" et une section "est un contenu qui définit la portée des en-têtes et des pieds de page". L'exemple du W3C pour la section de navigation montre h tags dans le nav.
les balises h correspondent à la structure du contenu de la page. Je ne dirais pas que la navigation fait partie du contenu de la page. Il n’est donc pas logique pour moi d’avoir des balises h dans la navigation.