Ceci est plutôt un rapport rapide. J’ai remarqué dans un autre fil de discussion que le bouton « J’aime » n’a parfois pas d’étiquette d’accessibilité. Je n’ai pas encore identifié le motif exact. Mais cela pourrait être lié au fait qu’un message ait déjà reçu un ou plusieurs « J’aime », ou aucun pour l’instant, ce qui entraîne une séparation du contrôle pour l’afficher. Je vois alors deux boutons : l’un affiche le nombre, l’autre n’a pas d’étiquette.
J’ai essayé et testé cela avec de nombreux cas différents, mais je n’ai pas pu reproduire le problème. L’étiquette s’affichait toujours, mais pour la première fois, il y a un certain délai, ce qui est un comportement général de l’attribut title.
Je suppose que le problème vient de l’infobulle fournie pour le bouton « J’aime ». Sommes-nous sur la même longueur d’onde ?
Je fais référence à ce que le lecteur d’écran annonce pour le bouton que vous appuyez pour aimer un message. Ou peut-être pouvez-vous ajouter d’autres réactions, mais mon lecteur d’écran ne m’en informe pas du tout. La seule chose pour laquelle j’obtiens un libellé est l’élément affichant le nombre actuel d’« J’aime », si celui-ci est de 1 ou plus. S’il est de 0, ce contrôle n’est pas présent. Mais le bouton que je dois appuyer pour ajouter une réaction « J’aime » n’a aucun libellé pour mes lecteurs d’écran sur Windows, Mac et iOS.
Je suis aveugle, donc je n’utilise pas de souris. De plus, l’attribut title est généralement problématique pour les interactions tactiles, car il n’existe pas de moyen simple de déclencher un survol de souris.
J’espère que cela aidera…
Pour être clair, je fais référence au bouton #discourse-reactions-actions-916340 > div > div.discourse-reactions-reaction-button.my-likes > button. Ce bouton n’a ni titre ni aria-label, seul un SVG à l’intérieur qui est aria-hidden. Et même si ce n’était pas le cas, ni ce SVG ni ses enfants ne contiennent d’informations exploitables par un lecteur d’écran. La solution consiste donc à :
Donner à ce bouton un aria-label indiquant quelque chose comme « Aimer ce message » ou « Réagir avec J’aime » ou similaire. Comme il pourrait y avoir d’autres réactions à l’avenir, cette formulation doit être explicite quant à laquelle des réactions est ajoutée.
L’élément contenant le compteur, #discourse-reactions-counter-916340, devrait probablement fournir de meilleures informations sur qui a réagi avec quelle réaction. Je ne sais pas comment les personnes voyantes accèdent à cela, si vous cliquez sur ce nombre et obtenez une fenêtre contextuelle quelque part. Mais cela doit également être rendu accessible aux utilisateurs de lecteurs d’écran et de claviers.
Si d’autres réactions sont ajoutées à l’avenir, elles devront également être rendues accessibles non seulement pour la souris, mais aussi pour le tactile, le clavier et les lecteurs d’écran.
Pour l’instant, du moins pour moi, le widget ne semble permettre que les réactions « J’aime ».
Désolé pour les multiples messages, mais cela montre à quel point il peut être méticuleux de trouver la cause d’un problème. L’attribut title sur les messages qui ne sont pas les miens se trouve actuellement sur le div parent du vrai bouton « J’aime ». Cependant, pour qu’un lecteur d’écran le détecte, le titre doit être placé directement sur le bouton lui-même. Les lecteurs d’écran ne récupèrent pas les titres de n’importe quel élément. Cette généralisation a été trop abusée au cours des 25 dernières années. Donc, si vous déplacez l’attribut title vers l’élément enfant <button>, le lecteur d’écran le détectera correctement.
Merci ! J’attendrai que cette instance récupère le dernier code du plugin. Je n’exécute pas ma propre instance Discourse, je n’ai donc nulle part où je pourrais intégrer le plugin. Merci pour la correction rapide !