-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
♿️fix(logo): évite les arrêts de vocalisation de lecteurs d'écrans #903
base: main
Are you sure you want to change the base?
♿️fix(logo): évite les arrêts de vocalisation de lecteurs d'écrans #903
Conversation
Merci pour le retour Manu, |
8d1f375
to
e69f8e3
Compare
Après discussion avec l'équipe, l'utilisation de <p class="fr-logo">
<span class="fr-logo__row">Intitulé</span>
<span class="fr-logo__row">officiel</span>
</p> .fr-logo__row {
display: block;
} |
Faudrait revérifier mais pour le coup pour l'usage dont je parle je pense que ça ne résout pas le problème ; le lecteur d'écran va voir deux blocs et donc faire une pause en plein milieu. edit : effectivement au moins avec NVDA en faisant comme ça, ça repart à vocaliser en deux parties. |
Je n'ai pas testé, mais à priori les span ne vocalisent pas de pause, si ? |
Actuellement on utilise des `<br>` dans les logos pour que "République Française" ou autres termes s'affichent bien visuellement. Par défaut, un lecteur d'écran peut avoir tendance à arrêter la lecture après un `<br>`. C'est le comportement normal, c'est ce qu'on veut habituellement : il s'arrête pour marquer un passage à la ligne. Cependant ici ça serait mieux que le lecteur ne s'arrête pas, le br étant utilisé uniquement pour l'aspect layout. Indiquer que ces `<br>` sont purement décoratifs permet de rendre la vocalisation plus fluide (plus d'arrêts à cause des br) tout en gardant l'impact visuel. Note : dans certains usages du logo, le problème n'était pas présent (le dom n'est pas tout à fait le même sur un "header minimal" et un "header sans navigation" par exemple). Cependant j'ai trouvé ça pas plus mal de garder cette idée partout afin que tout copié/collé rapide du DSFR fonctionne.
e69f8e3
to
daa493c
Compare
Bon c'est un peu overkill et c'est de la micro opti donc pas si grave si c'est pas géré hein, mais bon tant pis je suis lancé :P NVDA regarde le CSS pour déduire comment vocaliser des éléments donc si, les span peuvent déclencher des pauses. Le comportement est pas le même suivant les lecteurs d'écrans. J'ai fait une page de test pour donner une idée : https://codepen.io/leimi/pen/bGJqmrL :
En alternative au J'ai mis à jour mon code pour utiliser le role plutôt que le aria-hidden. |
Bonjour ! Merci @manuhabitela pour cette PR. J’étais aussi tombé sur ce problème, mais il est tombé aux oubliettes. Je viens de tester la deploy-preview ci-dessus et sur Safari (version 16.6.1) / VoiceOver (version 10) les 2 mots sont désormais "collés", je pense que c’est un problème. |
oui bien vu, rajouter un espace avant la balise du br devrait régler le souci 👌 |
Bonjour Emmanuel, Après en avoir re-discuté avec l'équipe et dans le but de fournir prochainement un correctif serait-il possible de tester également une structure avec les deux
et en ajoutant en CSS un retour à la ligne dans un pseudo element sur la classe 'fr-logo__row' :
|
👋
Suite à mon retour sur le slack de la communauté voici un commit concernant les logos.
Je recopie ici le message de commit :
Actuellement on utilise des
<br>
dans les logos pour que "République Française" ou autres termes s'affichent bien visuellement.Par défaut, un lecteur d'écran peut avoir tendance à arrêter la lecture après un
<br>
quand on navigue pas à pas. C'est le comportement normal, c'est ce qu'on veut habituellement : il s'arrête pour marquer un passage à la ligne.Cependant ici ça serait mieux que le lecteur ne s'arrête pas, le br étant utilisé uniquement pour l'aspect layout.
Masquer ces
<br>
de l'arbre d'accessibilité permet de rendre la vocalisation plus fluide (plus d'arrêts à cause des br) tout en gardant l'impact visuel.Note : dans certains usages du logo, le problème n'était pas présent (le dom n'est pas tout à fait le même sur un "header minimal" et un "header sans navigation" par exemple). Cependant j'ai trouvé ça pas plus mal de garder cette idée de aria-hidden partout afin que tout copié/collé rapide du DSFR fonctionne.
Si ça vous dit de merger ça, ça serait peut-être intéressant de mentionner pourquoi ce fameux
aria-hidden
est présent dans la partie Accessibilité des composants concernés ?Voici aussi une vidéo montrant la diff avant/après avec NVDA (le problème est aussi reproductible avec JAWS). Pas de son mais une boîte de dialogue affiche ce qui est vocalisé ;)
nvda-br.mp4