Pouvez-vous utiliser un <aside> élément à l'intérieur d'un <section role=“main”> élément?
Je suis dans le processus de l'amélioration de l'accessibilité dans mon code HTML à l'aide de HTML5 et WAI-ARIA.
C'est OK pour avoir le jeu suivant?
<!-- main content -->
<section id="main" role="main">
<h1>The main content</h1>
<!-- This div needs to be here for styling reasons -->
<div class="the-content">
<p>All the text that goes with the main content</p>
</div>
<!-- the sidebar -->
<aside id="sidebar" role="complementary">
<h2>A title</h2>
<p>Some text</p>
<aside>
</section>
La chose que je ne suis pas sûr, c'est si je devrais avoir le <aside>
élément en dehors de la <section>
et la role="main"
conteneur. N'est-ce important?
Le titre de cette question est trompeuse. Il implique que vous me demandez de mettre un
J'ai mis à jour le titre, merci pour le spotting.
<aside>
élément à l'intérieur d'un <main>
élément, alors que le code que vous avez est une <aside>
l'intérieur d'un parent <section>
J'ai mis à jour le titre, merci pour le spotting.
OriginalL'auteur shrewdbeans | 2013-07-09
Vous devez vous connecter pour publier un commentaire.
Il n'est question oui. Où le mettre, il est défini par la façon dont le contenu dans le
aside
balise concerne les principauxsection
.Par exemple:
Si le contenu de la
aside
est liée à l'article principal, il doit être à l'intérieur de lamain section
. Toutefois, si le contenu à l'intérieur de lasidebar aside tag
est différent demain
je voudrais le mettre à l'extérieur de lamain section
http://html5doctor.com/aside-revisited/
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside
OriginalL'auteur Darren
Oui, il le
<aside>
à l'intérieur de la<section>
est parfaitement valide balisage et passer la validation W3C, si c'est ce que vous êtes inquiet au sujet de.La
<section>
élément permet l'écoulement du contenu à l'intérieur qui peut inclure la<aside>
élément - toutefois, si vous êtes seulement en utilisant des sections de style, vous devriez probablement utiliser un div à la place.À côté de cela (pun intended) j'ai des doutes sur la
role=main
partie en cours de validité - fonction, le seul rôle de l'attribut valeurs autorisées sur<section>
éléments sont présentés ci-dessous:Qui plutôt particulier ne comprend pas le
main
rôle.OriginalL'auteur lifetimes
La spec ( l'éditeur de projet , qui comprend déjà
main
) ne permet pas de nid lemain
élément à l'intérieur d'article
,aside
,footer
,header
ounav
, mais elle ne dit rien à propos de l'imbrication de ces éléments à l'intérieur demain
. Il fournit également deux exemples d'utilisation dearticle
etnav
(intra-document de navigation) à l'intérieur demain
. Ainsi, au moinsaside
, imbriquée dans laarticle
ousection
(et donc portée à son niveau), devraient également être autorisés. Je peux aussi imaginer le cas où une partie du contenu avec quelques infos supplémentaires à l'intérieur (comme dans lecôté
exemples d'utilisation dans les WCAG Wiki) peuvent former ensemble le contenu principal de la page, donc je ne pense pas que l'interdisant, il serait raisonnable.D'autre part, les grandes lignes de l'algorithme (qui semble être la principale raison de l'existence de tous les le sectionnement de contenu, y compris
aside
) est encore marqué comme étant "à risque", de sorte que la définition de ces éléments peuvent changer et certaines précisions peuvent être ajoutés.Probablement nous devrions nous poser cette question à la spec HTML5 éditeurs?
OriginalL'auteur Ilya Streltsyn
Je sera d'accord avec Darren en ce qui concerne l'endroit où vous déposez la balise. Aussi, votre marquage est un peu loufoque. Les balises ont des rôles WAI-ARIA en natif, alors oui, vous pouvez remplacer natif de rôles, mais pourquoi le feriez-vous? Cette post sur WAI-ARIA sur le Paciello du Groupe de blog en parle plus. Ex:
Insstead de l'aide
vous pouvez simplement utiliser
<main>
, ce qui signifie la même chose, et de meilleures pratiques. Le<aside>
balise a pour rôle complémentaire ajoutée en natif, c'est comme dire Mon nom est Ryan, vraiment mon nom est Ryan.Le seul que j'ai entendu cet argument est
<nav>
. J'avais besoin d'un examen de ces sources avant de commenter davantage.Conincidentally je viens de lire un article sur la <> élément par Bruce Lawson, et il en parle encore il ajoute explicitement les rôles à des éléments tels que la valeur liquidative et le main: brucelawson.co.royaume-uni/2014/devriez-vous utiliser-html5-d'en-tête et pied de page/...
En fait <section role="main"> n'est-ce pas le même que <> depuis le sencond n'est pas un élément de sectionnement, qui est vraiment une propriété utile si vous êtes inquiet au sujet de structure du document (et vous devez)!
OriginalL'auteur Ryan B