Quel est le but de l’atsortingbut “role” en HTML?

Je continue à voir des atsortingbuts de rôle dans le travail de certaines personnes. Je l’utilise aussi, mais je ne suis pas sûr de son effet.

Par exemple:

 

Ou:

  

Ou:

 
Main content stuff in here

Cet atsortingbut de rôle est-il nécessaire?

Cet atsortingbut est-il meilleur pour la sémantique?

Est-ce que cela améliore le référencement?

Une liste de rôles peut être trouvée ici , mais je vois que certaines personnes inventent les leurs. Est-ce autorisé ou une utilisation correcte de l’atsortingbut de rôle?

Des pensées à ce sujet?

La plupart des rôles que vous voyez ont été définis dans le cadre d’ARIA 1.0, puis intégrés dans HTML5. Certains des nouveaux éléments HTML5 (dialog, main, etc.) sont même basés sur les rôles ARIA d’origine.

http://www.w3.org/TR/wai-aria/

Il y a deux raisons principales d’utiliser des rôles en plus de votre élément sémantique natif.

Raison n ° 1. En remplaçant le rôle où aucun élément de langage hôte n’est approprié ou, pour diverses raisons, un élément moins sémantiquement approprié a été utilisé.

Dans cet exemple, un lien a été utilisé, même si la fonctionnalité résultante est plus en forme de bouton qu’un lien de navigation.

 Delete 

Les lecteurs d’écran entendront cela comme un bouton (par opposition à un lien) et vous pouvez utiliser un sélecteur d’atsortingbut CSS pour éviter les class-itis et les div-itis.

 *[role="button"] { /* style these a buttons w/o relying on a .button class */ } 

Raison n ° 2. Sauvegarde du rôle d’un élément natif pour prendre en charge les navigateurs qui implémentent le rôle ARIA, mais n’ont pas encore implémenté le rôle de l’élément natif.

Par exemple, le rôle “principal” est pris en charge dans les navigateurs depuis de nombreuses années, mais il s’agit d’un ajout relativement récent à HTML5, de sorte que de nombreux navigateurs ne prennent pas encore la sémantique pour

.

 

Ceci est techniquement redondant, mais aide certains utilisateurs et ne nuit à aucun. Dans quelques années, cette technique deviendra probablement inutile.

Vous avez aussi écrit:

Je vois que certaines personnes inventent les leurs. Est-ce autorisé ou une utilisation correcte de l’atsortingbut de rôle?

C’est une utilisation valide de l’atsortingbut sauf si un rôle réel n’est pas inclus. Les navigateurs appliqueront le premier rôle reconnu dans la liste de jetons.

 ... 

En dehors de la liste, seuls les link et les note sont des rôles valides. Le rôle de lien sera donc appliqué car il vient en premier. Si vous utilisez des rôles personnalisés, assurez-vous qu’ils n’entrent pas en conflit avec un rôle défini dans ARIA ou dans le langage hôte que vous utilisez (HTML, SVG, MathML, etc.)

Si je comprends bien, les rôles ont été initialement définis par XHTML, mais sont devenus obsolètes. Cependant, ils sont maintenant définis par HTML 5, voir ici: https://www.w3.org/WAI/PF/aria/roles#abstract_roles_header

L’atsortingbut role a pour but d’identifier à l’parsing logicielle la fonction exacte d’un élément (et de ses enfants) dans une application Web. Ceci est surtout une question d’accessibilité pour les lecteurs d’écran, mais je peux également le voir comme utile pour les navigateurs intégrés et les grattoirs d’écran. Pour être utile au client HTML inhabituel, l’atsortingbut doit être défini sur l’un des rôles de la spécification liée. Si vous créez le vôtre, cette fonctionnalité «future» ne fonctionnera pas – un commentaire serait préférable.

Les aspects pratiques ici: http://www.accessibleculture.org/articles/2011/04/html5-aria-2011/

Cet atsortingbut de rôle est-il nécessaire?

Réponse: oui .

  • L’atsortingbut role est nécessaire pour prendre en charge les applications Internet riches accessibles ( WAI-ARIA ) afin de définir des rôles dans les langages XML, lorsque les langages ne définissent pas leur propre atsortingbut de rôle.
  • Bien que ce soit la raison pour laquelle l’atsortingbut role est publié par le groupe de travail Protocols and Formats , l’atsortingbut a également des cas d’utilisation plus généraux.

Il vous fournit:

  • Accessibilité
  • Adaptation du dispositif
  • Traitement côté serveur
  • Description de données complexes, etc.