Dans un site Web, je travaille en ce moment, j'ai un élément de section quel type est défini sur " Cependant, lorsque j'exécute mon site via le validateur W3C, je reçois une "mauvaise valeur principale pour le rôle d'attribut dans la section Élément". Erreur. J'ai utilisé la valeur code> code> sur un autre site Web précédemment, et cela a passé la validation, mais il n'est plus valide, signalant la même erreur. P>
a la spécification HTML5 modifiée récemment et a sorti la valeur code> code>? Devrais-je croire le validateur Wai-Aria ou le Validateur W3C? La page wai-aria est-elle obsolète? Dois-je simplement conserver l'élément code> code> sans attribut de rôle (qui reviendra à la valeur par défaut "région")? P>
Toutes les pensées et les conseils à ce sujet seraient appréciés :) p> principal code>". Selon wai-aria , le
Section CODE> ELEMENT peut utiliser
Main code> comme
Attribut code> (
Rôle = "Main" Code>). P>
3 Réponses :
Commutatez l'option HTML DOCTYPE de Validator sur HTML5 et doit fonctionner, au moins avec un
<!DOCTYPE html>
<head><title>Foo</title></head>
<body>
<div role='main'>
<p>foo</p>
</div>
</body>
Le rôle principal Si vous devez utiliser un type de document où il n'est pas valide et que vous devez valider, vous pouvez les ajouter via JavaScript. Cela évitera les problèmes de validation. P>
Cependant, le rôle principal La dernière version de HTML; HTML5.1 comprend un support natif pour principal via Les autres éléments qui pourraient être utilisés avec code> est valide ou non en fonction du type de document que vous utilisez. Si vous utilisez le doctype HTML5:
code> il doit valider. Si vous utilisez un doctype plus tôt comme XHMTL ou html4 il ne sera pas. Voir https://developer.mozilla.org/en- US / docs / Accessibilité / ARIA / Web_applications_and_ARIA_FAQ # What_about_validation.3F pour plus de détails. p>
code> ne validera si elle est utilisée sur certains éléments. Pour le
code> les rôles valides sont
alerte code>,
AlertDialog code>,
application code>,
contentinfo code> ,
dialogue code>,
Document code>,
log code>,
marquee code>,
recherche code> et
état code>. p>
élément principal code>. Vous pouvez utiliser cet élément au lieu de
role = "principal" code> include
article code>,
div code>,
figure code> ,
toile code>,
p code>,
pré code>,
blockquote code>,
output code>,
travée code>,
tableau code>,
td code>,
tr code>,
em code>,
forte code>,
petit code>,
s code>,
cite code>,
q code>,
DFN code>,
abbr < / code>,
temps code>
code code>,
var code>,
samp code>,
kbd code>, < code> sous code>,
sup code>,
i code>,
b code>,
u code>,
marque code>,
ruby code>,
rt code>,
rp code>,
BDI code>,
bdo code>,
br code> et
WBR code>, et peut-être quelques autres. De toute évidence, beaucoup d'entre eux sont des éléments spécialisés avec une sémantique implicite et ne peut être utilisé dans certains contexte d'être eux-mêmes valables. Très probablement, soit
principal code>,
div code> ou
article code> sera l'élément le plus adapté à l'utilisation. Pour plus d'informations, consultez https: // dvcs .w3.org / hg / aria-officieux / fichier-premières / conseil / index.html # recommandations table p>
Remarque: l'élément principal code> n'est pas un élément de coupe, vous pouvez donc toujours avoir besoin de la section
code>.
J'utilise réellement le HTML 5 DOCTYPE, mais cela ne valident plus. Je suppose que c'est une erreur du validateur, peut-être que je vais attendre un peu et voir ce qui se passe. Je ne pense pas que le élément principal code> fonctionnera dans mon cas. Sur la page d'accueil, j'ai une section
code> avec
rôle = "maquee" code> (une diapositive jQuery) suivie d'une section
code> qui affiche une liste de Services, puis enfin la section
code> avec
Rôle = "Main" code> qui ne validait pas.
Le rôle principal est conçu pour ne être inclus une fois dans le document et envelopper tout le contenu principal (pas l'en-tête, la navigation, etc.) l'utilisez-vous comme ça?
Si vous l'utilisez correctement, cela valide. Voir HTML5.VALIDATOR.NU/... < / a>
À l'exception du rôle code> (code> Attribut a été utilisé sur un div code>, pas une section
code>. Si vous modifiez le
div code> pour une section
code>, il donne la même erreur de validation.
Il semble donc que la principale n'est plus valable sur la section. Il est logique car il ne devrait y avoir qu'un seul principal, et une section est généralement l'une des nombreuses dans un document, sinon ce n'est pas vraiment une section.
Il existe certains rôles recommandés pour une utilisation par élément. Je vais éditer ma réponse en conséquence.
Merci beaucoup. Il y avait définitivement des changements qui ont été faits. Je suis également confronté à une erreur de validateur étrange. Pour un menu, j'ai un
code> élément avec
Rôle = "Menubar" code>, et le
= "menuitem" code>. Cela a adopté la validation la semaine dernière, mais maintenant, je reçois un "Mauvaise valeur Menuitem pour le rôle d'attribut sur l'élément Li" B> Erreur; Si je supprimais le rôle
= "menuitem" code>, il affiche une autre erreur "B>" Seuls éléments avec le rôle = menuitem ou rôle = menuitemradio ou rôle = menuitemcheckbox ou rôle = présentation sont autorisés comme des enfants d'un Élément avec rôle = Menubar " b>. Assez incompatible ...
Maintenant que la poussière a réglé, il est assez évident que le code Il fait l'état Droite Ici dans cette table que le rôle Si vous y réfléchissez, il serait ridicule de faire valoir cette syntaxe non valide, les personnes qui souhaitent créer leur plan de document une manière spécifique devraient pouvoir le faire sans être forcée de faire quelque chose comme
principal code> est un élément valide pour la section
code> élément et de sorte qu'il devrait p>. p>.
Cela pourrait être quelque chose à voir avec le nouvel élément code>, mais aussi loin que je peux voir que les spécifications permettent toujours
rôle = "Main" code> sur code>. Pourrait simplement être un virus de validateur.
Oui, c'est ce que je me demande, si c'est une erreur du validateur ou si je devrais cesser d'utiliser le rôle = "Main". Je n'ai rien trouvé à ce sujet sur le Web.
La seule voie à suivre est de demander aux personnes qui fournissent le validateur.
Rôle = "Main" est toujours valide, tout comme il existe d'autres attributs Aria qui ont la carte des éléments HTML5.
Oui, je suppose que c'est une erreur dans le validateur. J'attendrai de voir si elle est réparée.