Supposons que l'élément aside
inclut du contenu "Oh, au fait…" comme la lecture de suggestions, de publicités ou de ventes croisées.
aside
en dehors de main
?aside
en dehors de main
, comme la commande "skip to main content"?aside
à l'extérieur ou à l'intérieur de main
.En HTML5 il est uniquement défini que aside
est "lié au contenu autour de l'élément aside
".
En HTML 5.1 (CR) la définition est devenue plus spécifique , car elle dit maintenant que aside
est "lié au contenu de la parentalité sectionner le contenu ".
Après la nouvelle définition, l'élément aside
doit se trouver à l'intérieur de l'élément section auquel il est lié. L'élément main
n'est pas un élément de sectionnement (éléments comme article
, section
, body
, figure
etc. sont). Vous pouvez bien sûr toujours placer aside
dans main
, mais il sera lié au parent d'élément de sectionnement le plus proche de main
.
Cela signifie qu'il n'y a pas de différence sémantique (pour aside
) dans ces deux exemples:
<body>
<main></main>
<aside><!-- related to the body --></aside>
</body>
<body>
<main><aside><!-- related to the body --></aside></main>
</body>
Exemple qui montre quelques cas différents:
<body>
<main>
<article>
<aside><!-- related to the article --></aside>
<section>
<aside><!-- related to the section --></aside>
<blockquote>
<aside><!-- related to the blockquote (not to the section!) --></aside>
</blockquote>
<div>
<aside><!-- related to the section (not to the div!) --></aside>
</div>
</section>
</article>
<aside><!-- related to the body (not to the main!) --></aside>
</main>
<aside>
<!-- related to the body -->
<aside><!-- related to the (parent) aside --></aside>
</aside>
<nav>
<aside><!-- related to the nav --></aside>
</nav>
<footer>
<aside><!-- related to the body (not to the footer!) --></aside>
</footer>
</body>
Si ton <aside>
est directement lié au contenu en vous <main>
alors je le laisserais dans le <main>
. Maintenant, cela étant dit ...
<aside>
en dehors d'un <main>
(comme dans, il est valide, mais votre contenu peut en justifier le contraire).<aside>
en dehors d'un <main>
n'a aucun mal ni avantage pour l'accessibilité. Tant que vous suivez une bonne structure et un balisage valide, ça devrait aller.<aside>
s à l'extérieur <main>
sur mon site et avait <aside>
à l'intérieur <main>
aussi, et je n'ai vu aucune différence dans mon classement. Étant donné que les moteurs de recherche sont généralement opaques sur des bits spécifiques comme celui-ci, je considérerais certains tests A/B si vous êtes concerné.Documents connexes de HTML5 Doctor, écrits par l'un des éditeurs de spécifications HTML5: