Il y a quelques mois le Train de 13h37 publiait un article d’Aurélien Levy intitulé ARIA, il serait temps de s’y mettre !, où il explique ce que c’est, à quoi ça sert et comment on s’en sert.
J’ai posé une question dans le forum associé :
Quand j’avais fait des tests, je crois que j’avais dû ajouter le role="presentation" non seulement pour la ul mais aussi pour chacun des li quand j’avais converti une liste en menu.
(d’ailleurs au final on ne l’avait pas utilisé, l’interaction clavier étant trop « nouvelle » par rapport au comportement attendu par nos utilisateurs test).
Au passage, est-ce que tu prévois de faire un deuxième article pour expliquer cette notion de « comportement attendu » de la spec ?
À quoi Aurélien répondit :
Concernant un deuxième article sur le comportement attendu je n’ai pas bien compris la question ;)
Il est vrai que j’avais été un peu succinct :)
En clair, voilà ce que je voulais dire :
Quand, dans mon service de l’époque, nous avons testé ARIA, nous avons lu la spécification du W3C, y compris les pratiques de navigation clavier, et c’est là que les choses se sont compliquées.
The TAB key moves keyboard focus to the widget, and other keys operate the features of the widget, typically cursor keys, Enter key and Space. The actual keys are up to the developer, but best practices recommend using the same key bindings that are used to control similar widgets in common GUI operating systems like Microsoft Windows, Mac OS X and other desktop operating systems like GNOME and GTK.
Un utilisateur de lecteur d’écran qui est dans une modalité de navigation web s’attend à passer d’un élément à l’autre en tabulant, or les pratiques que je viens de mentionner partent du principe qu’à l’intérieur d’un widget donné on navigue en utilisant les flèches de direction. C’est tout à fait sensé quand on se réfère à ce qui se passe au niveau du système : par exemple sous Windows un appui sur la touche F10 m’envoie dans la barre de menu principale, et les flèches de direction me promènent d’un menu à l’autre, ainsi à l’intérieur d’un menu.
Nous avons conclu que nos utilisateurs ne comprendraient pas pourquoi, dès qu’ils appuient sur la touche tab, ils sortiraient du menu. Nous en avons donc déduit que nous ne pouvions pas mettre en place ce comportement attendu sous peine de déstabiliser gravement nos utilisateurs.
Qu’en pensez-vous ? Avez-vous déjà dû mettre en place des widgets qui s’appuient fortement sur ARIA, et si oui quel choix avez-vous adopté ? Êtes-vous restés sur le comportement basique et connu dans le navigateur (tabulation de lien en lien) ou avez-vous mis en place le comportement attendu par ARIA ? Quels retours avez-vous eus de la part de vos utilisateurs ?