Scénario 8 / 8

Mauvais usage de role

L'attribut role peut contredire ou neutraliser la sémantique native d'un élément. Trois cas pour voir concrètement ce que le lecteur d'écran annonce et pourquoi c'est un problème.

Usages problématiques de l'attribut role

HTML
<div role="button" tabindex="0" onclick="envoi()">Envoyer</div>

Rendu visuel

Simulation lecteur d'écran
Cette simulation est une approximation pédagogique. Elle ne reproduit pas le comportement exact de NVDA, JAWS ou VoiceOver. Pour tester réellement, installez NVDA (gratuit, Windows).

Aucune annonce — aucun élément significatif détecté.

div role="button" est annoncé "Bouton" par le lecteur d'écran. C'est techniquement valide. Cet élément ne reçoit cependant pas le comportement clavier natif (Entrée + Espace pour déclencher), ne soumet pas un formulaire, et demande du JavaScript supplémentaire. Préférer button type="submit".
L'attribut role peut contredire ou neutraliser la sémantique native d'un élément. Dans les trois cas, le lecteur d'écran annonce quelque chose : c'est l'incohérence avec le comportement attendu qui pose problème.

La lettre de l'Atelier A11Y

Ressources pédagogiques, critères RGAA commentés et retours de terrain : une lettre mensuelle pour progresser sur l'accessibilité numérique, sans jargon.

  • Nouveaux articles et ressources pédagogiques
  • Critères RGAA décortiqués avec des exemples concrets
  • Bonnes pratiques et retours d'expérience terrain
S'abonner à la newsletter (s'ouvre dans un nouvel onglet)

Gratuit. Désabonnement possible à tout moment.