Quel est le but du “rôle” de l'attribut HTML?
Je continue à voir le rôle des attributs dans certaines personnes travail. Je l'utilise aussi, mais je ne suis pas sûr de son effet.
Par exemple:
<header id="header" role="banner">
Header stuff in here
</header>
Ou:
<section id="facebook" role="contentinfo">
Facebook stuff in here
</section>
Ou:
<section id="main" role="main">
Main content stuff in here
</section>
Est-ce le rôle d'attribut nécessaire?
Est cet attribut mieux pour la sémantique?
T-il d'améliorer le RÉFÉRENCEMENT naturel?
Une liste de rôles peut être trouvé ici, mais je vois des gens se faire leur propre. C'est que permis ou d'un usage correct de l'attribut role?
Des idées sur ce point?
Vous devez vous connecter pour publier un commentaire.
La plupart des rôles que vous voyez ont été définies dans le cadre de l'ARIA 1.0, puis plus tard incorporée dans HTML5. Certains des nouveaux éléments HTML5 (boîte de dialogue principale, etc.) sont même basé sur l'original de l'ARIA des rôles.
http://www.w3.org/TR/wai-aria/
Il y a deux raisons principales pour utiliser rôles en plus de votre propre élément sémantique.
Raison #1. Primordial le rôle dans lequel aucun hôte élément de langage est approprié ou, pour diverses raisons, moins sémantiquement élément a été utilisé.
Dans cet exemple, un lien a été utilisée, même si la fonctionnalité résultant est plus de bouton like qu'un lien de navigation.
Lecteurs d'écran d'entendre ce qu'un bouton (par opposition à un lien), et vous pouvez utiliser un attribut CSS sélecteur pour éviter de classe-itis et div-itis.
Raison n ° 2. La sauvegarde d'un élément naturel du rôle, à prendre en charge les navigateurs qui ont mis en œuvre l'ARIA rôle, mais qui n'ont pas encore mis en œuvre le natif de l'élément de rôle.
Par exemple, le "principal" le rôle a été pris en charge dans les navigateurs depuis de nombreuses années, mais c'est un ajout relativement récent à HTML5, de sorte que de nombreux navigateurs ne supportent pas encore la sémantique pour
<main>
.Cela est techniquement redondant, mais permet à certains utilisateurs et de ne pas nuire à tout. Dans quelques années, cette technique va probablement devenir inutile.
Vous aussi écrit:
C'est une bonne utilisation de l'attribut, sauf si un vrai rôle n'est pas inclus. Les navigateurs appliquer le premier rôle reconnu dans la liste des jetons.
De la liste, seulement
link
etnote
sont valables rôles, et donc le lien rôle sera appliqué parce qu'il vient en premier. Si vous utilisez des rôles personnalisés, assurez-vous qu'ils n'entrent pas en conflit avec n'importe quel rôle défini dans l'air ou la langue du pays d'accueil que vous utilisez (HTML, SVG, MathML, etc.)[role="button"]
vous évitera d'avoir à fairea[role="button"], span[role="button"]
role
en général.role="banner"
est superflue, carheader
a que le rôle exact par défaut. D'autre partrole="contentinfo"
serait nécessaire pour tout ce qui n'est pas unfooter
, mais qui contenait (par exemple) des informations de copyright, les adresses, les remerciements et ainsi de suite. Vous devez vous que utiliser rôle si la valeur par défaut de la sémantique de l'élément diffère dans le rôle sémantique que vous voulez exprimer. Son usage le plus courant de 'div' et 'span' (qui n'ont pas de sémantique à tous).[role="button"]
est valide sélecteur sur son propre, pas besoin de le sélecteur universel.Ce que je comprends, les rôles ont été définis initialement par le XHTML mais sont déconseillées. Cependant, elles sont maintenant définis par le HTML 5, voir ici: https://www.w3.org/WAI/PF/aria/roles#abstract_roles_header
Le but de l'attribut rôle est d'identifier à l'analyse de logiciels de la fonction exacte d'un élément (et ses enfants), dans le cadre d'une application web. C'est surtout une accessibilité chose pour les lecteurs d'écran, mais je peux aussi le voir comme étant utile pour les navigateurs embarqués et l'écran de grattoirs. Pour être utile à l'inhabituel client HTML, l'attribut doit être défini à l'un des rôles de la spec, j'ai fait un lien. Si vous faites votre propre, ce "futur" de la fonctionnalité ne peut pas travailler - un commentaire serait mieux.
Détails pratiques ici: http://www.accessibleculture.org/articles/2011/04/html5-aria-2011/
Réponse: Oui.
Il vous offre:
Je sais que c'est une vieille question, mais une autre considération en fonction de vos besoins exacts, c'est que la validation sur https://validator.w3.org/ génère des avertissements comme suit: