a écrit :
Il y a aussi la question de l’accessibilité, je suis convaincu qu’elle devrait s’appliquer également aux applications web, mais quand il en est question,
ça ne concerne que les sites de contenu, avec des recommandations qui n’ont de sens que pour ce type de site. Pire encore, certaines choses nécessaires
pour une application en ligne, comme la re-définition de certains comportement par défaut, est considéré comme une chose à éviter pour ces mêmes règles
d’accessibilité qui ne s’appliquent qu’aux sites de contenu. Manière de dire qu’il faudrait pouvoir traiter de cette question de manière spécifique.
C'est vrai qu'on parle souvent de l'accessibilité des contenus web, mais relativement peu d'autres cadres où l'accessibilité devrait être aussi importante :
1 - Accessibilité des contenus dans d'autres formats de document courants, PDF, word et open office notamment
2 - -Accessibilité des applications web, effectivement
3 - Accessibilité des applications de bureau, avec ou sans framework type WXWidget, QT, etc.
1a. accessibilité des documents word et open office
J'ai déjà réussi à trouver des informations sur l'accessibilité des documents dans ces formats, mais la documentation est relativement rare comparativement à la'ccessibilité du web. Or, tous deux donnent la possibilité, comme en HTML, d'ajouter des métadonnées utiles à l'accessibilité: hiérarchies de titres, textes alternatifs pour les images et contenus embarqués, citations, mise en évidence, changements de langue... le seul endroit où ça paraît à priori moins riche, c'est pour les tableaux où il n'y a apparament rien pour les cellules d'en-têtes et les relations entres les cellules.
Étant donné le taux de pénétration des fonctionnalités relatives aux styles et les pratiques très douteuses de certains utilisateurs, c'est vraiment pas gagné, ne serait-ce déjà rien que pour les titrs.
Jaws et NVDA, pour ne citer qu'eux, ont déjà tout prévu pourtant, la navigation dans un word accessible est normalement aussi simple que sur une page web accessible.
1b. accessibilité des PDF
Là aussi on trouve un peu quelque chose mais seulement si on a de la chance. Basiquement, même observation que pour word et open office, les possibilités sont théoriquement là.
Gros problème: pratiquement aucun outil n'est capable d'enregistrer du PDF réellement accessible. Il n'y a guère que word et open office et encore, il faut concevoir correctement le document dans l'éditeur ce qui n'est déjà pas gagné, en plus de devoir modifier des options particulièrement bien cachées, et dans tous les cas ça ne sera même pas encore parfait. Sinon, retouche à la mano dans adobe PDF pro, mais vu que le logiciel est cher et que c'est compliqué d'aller bidouiller les balises d'accessibilité, personne n'est assez fou pour perdre du temps là-dessus.
Je n'ai vu jusqu'à ce jour qu'un seul document PDF accessible: le document d'accessiweb qui décrit justement les étapes à suivre pour rendre son PDF accessible (Encore heureux). Pour les autres, le potentiel est totalement sous-exploité.
A part ça, rien, rien, rien. aussi étrange que cela puisse paraître LaTeX vous oubliez, PDF creator et autres imprimantes PDF vous oubliez, et vous pouvez aussi oublier tous les générateurs/convertisseurs en ligne en php, java, C# ou n'importe quoi d'autre. Aucun n'est capable de produire du PDF réellement accessible jusqu'au bout en utilisant toutes les possibilités offertes. Certains sont capables de produire un PDF qui est quand même plus ou moins lisible avec une synthèse, alors que d'autres produisent des choses vraiment inintelligibles (LaTeX ou adobe indesign par exemple, le pire c'est encore LaTeX bizarrement, un format qui a pourtant une sémantique très riche, dix fois plus encore que le HTML, et adobe indesign c'est un comble, si adobe ne peut même pas s'entendre avec lui-même où va-t-on).
ET par dessus le marché, aucune documentation gratuite et claire sur le format PDF et ses balises d'accessibilité. J'avais pourtant cru entendre que le format PDF était censé être ouvert ?
Bref, ma conclusion sur le PDF c'est qu'il va encore se passer quelques millions d'années avant qu'on commence à se rendre compte que les possibilités existent mais que personne ne peut les utiliser.
2. accessibilité des applications web
Alors là, on peut espérer que ça s'améliore gentiment avec l'arrivée progressive d'aria. Mais bon, ce n'est encore pas complètement au point, particulièrement les zones rich text.
En 2011, les grandes applications font encore et toujours n'importe quoi: le nouveau twitter c'est une catastrophe, facebook ne s'améliore pas vraiment... et google descend gentiment dans mon estime (j'ai pu m'apercevoir récemment que google docs n'était plus du tout accessible, il ne l'a jamais vraiment été mais à une époque on pouvait au moins lire les documents et taper du texte au kilomètre).
Pour ne rien arranger, freedom scientific aussi font quelques bêtises, comme leur façon de traiter role="application" et role="document" qui est à mon goût un peu bizarre...
Sans oublier que certaines mauvaises pratiques sont bien ancrées, petit classement rapide :
* On n'ajoute pas des div dynamiques tout à la fin du document mais au bon endroit dans le DOM, ou alors on trouve un moyen de diriger le focus sans être trop gênant
* ON ne déplace pas le focus ni change de page ni soumet de formulaire quand l'utilisateur ne peut pas raisonnablement s'y attendre (en particulier, surtout pas sur un onchange de select)
* ON n'oublie pas de mettre à jour les attributs qui ont une influence sur l'accessibilité quand on ajoute/modifie/déplace des éléments dans le DOM (en particulier les alt des images et boutons, le texte des liens, leur focusabilité/cliquabilité, parfois les labels aussi)
* Tous les éléments interactifs doivent être focusables (je pense en particulier aux boutons à base de span ou div qui ne le sont souvent pas)
* Tous les éléments interactifs doivent avoir un texte qui fait office d'intitulé (ici je pense à la construction span ou div + background-image CSS, largement répandue mais pas du tout accessible)
* L'ordre de tabulation est logique (et on n'utilise surtout pas tabindex avec des valeurs différentes de 0 et -1, parce que tabindex c'est pourri)
* ON utilise des composants standard le plus possible (parce que les arrangements maison sont forcément moins bons, même avec aria)
ON pourrait encore dire beaucoup de choses, sur l'intégration du multimédia par exemple. JE me contenterai de dire à ce sujet que HTML5 est une très bonne chose, puisqu'il tend à établir un standard pour ces éléments, à l'heureux détriment du flash qui n'est pas adapté à cette utilisation. Flash doit rester dans son domaine, l'animation vectorielle. Pour le reste, je souhaiterais qu'il prenne progressivement la porte ces prochaînes années.
Alors vu que c'est en plein essor, on verra bien comment ça évolue. Mais j'ai l'impression que beaucoup de gens partent du principe que dès le moment où il y a du javascript/AJAX, c'est forcément inaccessible, et donc ce n'est plus nécessaire de prendre la peine de faire de l'accessibilité. C'est tout faux. C'est généralement inaccessible parce qu'on s'y prend souvent mal, c'est tout.
Si les efforts continuent et commencent à porter effectivement leurs fruits en ce qui concerne le web du contenu, ça a quand même du mal de prendre du côté des applications je trouve.
Pour les fans du flash, il y a moyen de rendre les animations accessibles dans une certaine mesure... c'est comme pour le PDF: il existe des choses mais personne ne les utilise.
3. Accessibilité des applications de bureau
En ce qui concerne les applications de bureau, je n'ai pas vraiment trouvé de documentations bien claires, ni en français ni en anglais. Mais on serait étonné de constater à quel point ça ressemble en fait beaucoup à ce qu'on peut dire sur les applications web. Alors bien sûr pas de javascript ni d'AJAX en tant que tel, mais je trouve amusant certains points me paraissant communs :
* Les règles sur le déplacement du focus sont les mêmes: on ne déplace pas le focus quand l'utilisateur ne peut pas raisonnablement s'y attendre. Ici aussi, ça vaut en particulier pour un changement de sélection dans une liste déroulante ou non.
* Les règles sur les changements de page sont aussi les mêmes: sauf qu'ici on remplace les pages par le contenu d'une boîte de dialogue ou par l'apparition/disparition de boîtes de dialogues
* Les règles sur la focusabilité et l'ordre de tabulation sont encore les mêmes... un composant interactif non focusable n'est pas accessible, c'est aussi simple que ça
* Tous les composants doivent avoir un intitulé. Pour les boutons graphiques, il y a aussi des moyens pour indiquer un texte alternatif.
* ON n'oublie pas de mettre à jour les intitulés des composants même si les dits intitulés ne sont pas visibles... ça aussi c'est valable.
Mais là où la ressemblance est la plus troublante je trouve, c'est en ce qui concerne l'utilisation de composants standard: dans le monde des applications de bureau aussi, on doit au maximum utiliser les composants standard, et rien que les composants standard, pour faire des applications au maximum accessibles. Ce qui signifie en clair :
* API Win32 sous windows
* Cocoa sous mac
* GTK sous linux/gnome
* Pour KDE je sais pas mais il y a aussi une API native
SWT et WXWidget se reposent sur les composants standard, donc ils produisent aussi des applications globalement accessibles. Là où ça commence à se gâter, c'est qu'on doit pouvoir dire adieu à QT et à GTK ailleurs que sous gnome, ainsi qu'à toutes les autres bibliothèques dessinant leurs composants à leur manière. Le truc c'est qu'ils sont encore bien plus répandus encore que les composants JQuery mal fichus.
Swing de java se situe entre les deux en fait, car il est quasiment devenu aussi un standard. Il n'en reste pas moins qu'il se repose sur une API de liaison (access bridge), donc il restera forcément toujours moins bon que des composants purement standard.
Tout cela explique malheureusement pourquoi une bonne partie des logiciels libres ne sont pas accessibles, et pourquoi les utilisateurs de jaws comme moi sont encore en grande partie obligés d'utiliser les logiciels qu'on a bien voulu vous rendre accessible. Pour rappel, open office avec jaws, c'est pas terrible, safari et chrome on oublie d'entrée, et le support de firefox n'est pas si vieux que ça.
C'est pourquoi NVDA pourrait bien, à terme, détrôner jaws... ils ont déjà de l'avance sur certains points, notamment aria, et certaines choses fonctionnent mieux avec NVDA que jaws sous windows 7.
ON pourrait faire une comparaison entre IAccessible2, MSAA et aria, je suis sûr qu'il y a beaucoup de choses en commun. Je ne connais pas suffisament les deux premiers pour en juger. Ce qui est sûr, c'est qu'il vaut toujours mieux, sur le bureau comme sur le web, préférer les composants natifs plutôt qu'utiliser des béquilles type aria/MSAA/IAccessible2, le plus possible, et de réserver ces derniers seulement quand ils sont vraiment nécessaires et/ou quand on n'a pas de solution standard.
Merci de m'avoir lu. JE crois que je viens d'établir un nouveau record.