Dans l'exemple que vous donnez, vous avez parfaitement raison, vous devez définir l'attribut title.
Si aria-label
c'est un outil utilisé par les technologies d'assistance (comme les lecteurs d'écran), il n'est pas pris en charge nativement par les navigateurs et n'a aucun effet sur eux. Cela ne sera d'aucune aide pour la plupart des personnes ciblées par les WCAG (à l'exception des utilisateurs de lecteurs d'écran), par exemple une personne ayant une déficience intellectuelle.
Le «X» n'est pas suffisant pour donner des informations sur l'action menée par le bouton (pensez à quelqu'un qui n'a aucune connaissance en informatique). Cela peut signifier "fermer", "supprimer", "annuler", "réduire", une croix étrange, un griffonnage, rien.
Malgré le fait que le W3C semble promouvoir aria-label
plutôt que l' title
attribut ici: http://www.w3.org/TR/2014/NOTE-WCAG20-TECHS-20140916/ARIA14 dans un exemple similaire, vous pouvez voir que la technologie la prise en charge n'inclut pas les navigateurs standard: http://www.w3.org/WAI/WCAG20/Techniques/ua-notes/aria#ARIA14
En fait aria-label
, dans cette situation exacte, on pourrait utiliser pour donner plus de contexte à une action:
Par exemple, les aveugles ne perçoivent pas les popups comme ceux d'entre nous qui ont une bonne vision, c'est comme un changement de contexte. "Retour à la page" sera une alternative plus pratique pour un lecteur d'écran, lorsque "Fermer" est plus important pour quelqu'un sans lecteur d'écran.
<button
aria-label="Back to the page"
title="Close" onclick="myDialog.close()">X</button>
aria-label
peut être utilisée si vous ne souhaitez pas afficher l'info-bulle fournie par l'attribut title: dans les cas où une étiquette visible ou une info-bulle visible n'est pas souhaitable, les auteurs PEUVENT définir le nom accessible de la élément utilisant aria-label