Un monstre coup de grogne d’un développeur concernant l’accessibilité a fait un bruit certain, la newsletter Opquast en a parlé et je vais rebondir dessus.
Remettons-tous dans l’ordre. Un article explique certains problèmes des design patterns sur des utilisateurs clavier. Voici l’article en question : Danger! ARIA tabs.
Je passe sur le côté maladroit de certaines formulations et volontairement trollesque de cet article. Je passe aussi sur le code donné en exemple, qui me semble insuffisant (comme indiqué dans ce commentaire).
Il y a par contre un problème réel (entre autres) qui mérite d’en parler (que je n’avais pas compris au début) : l’utilisateur clavier n’est pas habitué à ce qu’on lui propose ces design patterns, et souvent il est perdu (par exemple, il ne sait pas qu’il peut utiliser les flèches gauche et droite pour afficher les onglets). Ça c’est un souci réel.
Et en guise de propos, le classique « ça dépend ». Sauf que le coup de grogne mentionné plus haut est monté, et je ne suis pas loin de donner bien raison à ce développeur. Étant moi-même impliqué à développer des plugins accessibles que je déploie massivement (à peu près tous les sites que je fais les utilisent), je ne peux clairement pas entendre un « ah bin, ça dépend, et il va falloir jeter ce que vous avez fait ». Même pas en rêve.
Là je serais du genre à répondre : « sérieux les gamins, vous êtes gentils, mais je respecte vos standards, j’y contribue, j’ai des dizaines et des dizaines de sites en prod, j’ai pas le temps ni même la possibilité de faire dans le détail, bordel ! » (et encore, je suis resté poli). Pire, ce genre de naufrage peut ruiner une chiée d’efforts et de motivation. La cause de l’accessibilité n’a me semble-t-il pas besoin de ça.
Par contre, ce que je peux entendre et je regrette de ne pas l’avoir lu, c’est « continuons avec ces standards, mais améliorons-les en pratique, soyons constructifs », ce qu’Aurélien Lévy (qui m’aide beaucoup sur ces plugins) fait déjà très bien, régulièrement, on va plus loin que ce que les standards proposent pour faire mieux en pratique. On sait très bien que ce n’est pas parfait, mais il vaut mieux faire quelque chose que rien du tout.
Franchement, ne serait-il pas plus simple de partir de ces standards (qui me semblent plutôt bons), de les améliorer et d’éduquer ou d’aider l’utilisateur ?
Je comprends ton coup de grogne et ton besoin d'avoir des recommandations claires.
A mon avis les onglets sont sont le module le plus complexe à rendre vraiment accessible aux utilisateurs qui naviguent au clavier et avec un lecteur d'écran. Nous avons très longtemps hésité à conseiller à nos clients de suivre le design pattern pour les onglets et nous n'avons commencé à le faire que quand nous avons eu une implémentation correcte à leur proposer (ton plugin d'onglets accessibles)
Je pense que les deux implémentations, avec ou sans ARIA, peuvent se défendre pour les onglets:
- soit on implémente les onglets entièrement en suivant le design pattern (attributs ARIA et interaction au clavier),
- soit on implémente sans ARIA et les onglets fonctionnent comme une table des matières suivie de blocs de contenu.
Ce qu'il faut éviter c'est de faire des implémentations partielles du design pattern parce qu'alors le comportement du widget n'est plus prévisible. Les deux solutions ont chacune leurs défauts et dans tous les cas les onglets resteront un module relativement complexe à gérer pour un utilisateur qui navigue au clavier, avec ou sans lecteur d'écran.
L'article de Simply Accessible est intéressant car c'est un retour d'expérience qui confirme que les onglets avec ARIA restent difficiles à comprendre pour les utilisateurs. C'est un rappel qu'ARIA ne fonctionne pas forcément comme un coup de baguette magique, même si on aimerait bien que ce soit le cas.
Nous pouvons décider chacun en connaissance de cause d'utiliser ou non cette implémentation du design pattern, et d'utiliser ou non des onglets comme manière de présenter l'info.
Au bureau nous utilisons régulièrement tes plugins comme exemples lors de formations, dans des rapports d'audit ou quand nos clients nous demandent de bons exemples. Donc personnellement je t'encourage à continuer à les maintenir .