mfpaccessibilite / MFP_AccessPlayer

This project is a web video player that complies with the WCAG and RGAA accessibility guidelines and implements the WAI-ARIA specification. It is driven by MFP's determination to adapt France Télévisions's video accessibility requirements to the web.
Other
19 stars 1 forks source link

[audit lecteur 11/2019] Problème de reconnaissance et de focus sur les fenêtres modales #56

Open julianastoria opened 4 years ago

julianastoria commented 4 years ago

L’utilisation du clavier et de la souris sur la fenêtre fonctionne parfaitement, mais lorsque nous l’activons, le focus se dirige automatiquement sur le premier lien du menu, alors qu’il devrait se diriger sur la fenêtre elle-même. Faire en sorte que le focus dans le script soit sur la fenêtre modale lorsque nous les activons.

Toutes les fenêtres modales sauf les fenêtres "Informations" et "Personnalisation des sous-titres" ne sont pas reconnus aux lecteurs d'écrans et la direction que prend le focus lorsque nous les activons. image

simchaba commented 4 years ago

La recommandation ARIA semble ne pas aller dans ce sens : https://www.w3.org/TR/wai-aria-practices/#dialog_modal Il est clairement indiqué : When a dialog opens, focus moves to an element inside the dialog. et Unless a condition where doing otherwise is advisable, focus is initially set on the first focusable element.

Dans notre cas le premier éléments et l'entrée "Aucun sous-titre" Donc le focus doit se faire dans la modale et pas sur la modale

armonyaltinier commented 4 years ago

Effectivement, ARIA dit :

Unless a condition where doing otherwise is advisable, focus is initially set on the first focusable element.

Et c'est le cas ici. Comme 2 Design Patterns sont imbriqués, le seul rôle énoncé est celui du 2e DP, c'est-à-dire le rôle menu. L'utilisateur au lecteur d'écran ne sait pas qu'il est dans une fenêtre modale. Il est donc impératif ici de donner d'abord le focus sur la modale elle-même afin que le rôle dialog soit bien énoncé par la synthèse vocale.

simchaba commented 4 years ago

Le comportement est celui de jQuery UI Dialog. Il faudrait donc faire une demande de modification auprès de JqueryUI afin que le focus ne soit pas fait à l'intérieur. EN attendant nous avons ajouté un code qui fait le focus sur la fenêtre après l'avoir, ouvert. Fix dans le commit 12cdcfd3b1af5264f8c1807c4f64a28406df9875

armonyaltinier commented 4 years ago

Merci pour l'ajout du focus. La restitution est meilleure, mais reste aléatoire selon les navigateurs/TA. Ça fonctionne sur Windows/Jaws+FF, Voice/Safari, mais pas sur NVDA+FF.

Ajouter aria-modal="true" peut potentiellement résoudre le problème.

S'il persiste après cela, on gardera l'issue pour la prochaine version du lecteur.

simchaba commented 4 years ago

L'attribut aria-modal="true" vient d'être ajouté sur les dialog box dans le commit f74c852ad694ae3e936f9903340b5c00e285cc3f

armonyaltinier commented 4 years ago

Jaws et VoiceOver restituent bien la modale, mais NVDA continue à seulement vocaliser le menu. Le problème est peut-être dû à la prise de focus sur la div englobant la modale plutôt que sur le premier élément à l'intérieur (le bouton fermeture). Cf. https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal

When a dialog opens, focus placement depends on the nature and size of the content. In all circumstances, focus moves to an element contained in the dialog.

Pourrais-tu stp mettre le focus sur le bouton de fermeture @simchaba ?