web-dev-qa-db-fra.com

Accessibilité dans les applications Web modernes

Je fais actuellement partie d'une équipe qui développe une application web complexe pour un client allemand (désolé, je ne peux rien dire sur le projet). Nous souhaitons "être un bon citoyen" et développer l'application en pensant à l'accessibilité. Nous sommes maintenant confrontés aux problèmes suivants:

  1. Si nous suivons les règles de http://www.w3.org/WAI/WCAG20/quickref/ , elles contredisent parfois les spécifications écrites par le client. Comment devrions-nous y faire face?
  2. En utilisant les "nouvelles technologies" (comme AJAX et en remplaçant une partie du DOM), il n'est pas facile de vérifier si nous suivons les règles. Par exemple. Lorsque je clique sur l'un des onglets, une partie du contenu sera remplacée. Quand je regarde la source (Firefox 3.6.10), il n'y a pas de changement du tout. Alors comment vérifiez-vous si vous suivez correctement les règles?

J'espère que la question convient à ce site ...

7
mliebelt

Lors de la conception de sites accessibles, j'ai tendance à ne pas utiliser AJAX et à trop modifier le DOM car cela rend les choses beaucoup plus difficiles, comme vous l'avez dit, alors, si possible, essayez d'utiliser du HTML standard documents avec une interactivité minimale - cela vous facilitera la tâche et facilitera la vie des utilisateurs de lecteurs d'écran, etc.

Une autre chose que vous pouvez faire est de faire fonctionner votre application entièrement sans javascript, puis d'enrichir les choses là où cela ajoute de l'utilité. Les onglets sont un bon exemple: commencez par créer chaque onglet de sorte que le contenu de l'onglet soit chargé dans une nouvelle page lorsque vous cliquez sur l'onglet. Ensuite, utilisez du javascript discret pour "enrichir" l'événement onclick de l'onglet afin qu'il récupère le contenu de la page référencée et le charge en utilisant AJAX, par exemple. Vous aurez maintenant des onglets accessibles qui se comportent toujours comme vous le souhaitez. Vous pouvez également créer des paramètres d'accessibilité dans l'application qui contrôlent le comportement de ces onglets.

Oh, et n'oubliez pas de ne pas casser le bouton de retour!

4
Rahul

Si les spécifications contredisent les spécifications du client, je le reprendrais avec le client - expliquer pourquoi l'accessibilité est importante, montrer la tendance dans le monde, mentionner que pour les sites gouvernementaux aux États-Unis, elle est appliquée par la loi et surtout - trouver une solution alternative qui fera le travail.

3
Dan Barak

C'est une vieille question mais elle est apparue en haut, alors voici une réponse. Eh bien, ce n'est pas tant une réponse mais quelques points clés qui ne semblent pas entièrement abordés dans les autres réponses:

  • Les directives d'accessibilité ne sont que cela - des directives. Méfiez-vous qu'ils deviennent obsolètes, manquent de contexte particulier et recommandent des choses qui ne fonctionnent pas bien avec les logiciels d'accessibilité
  • Une partie de l'accessibilité doit incomber au navigateur et aux fabricants d'appareils/logiciels d'assistance. Je sais que ce n'est pas entièrement juste pour l'utilisateur final, mais pour que les normes et les meilleures pratiques fonctionnent, les fabricants d'appareils et de logiciels doivent les suivre autant que les développeurs Web (j'ai toujours détesté JAWS pour son manque d'être à jour à cet égard)
  • JavaScript fait désormais partie du Web. Il est parfaitement acceptable de l'exiger. Les logiciels et appareils d'assistance à jour devraient être en mesure de les gérer (d'accord, ils ne le peuvent pas). Même le W3C en est conscient et c'est là que les attributs ARIA doivent être étudiés: http://www.w3.org/WAI/intro/aria
  • testez toujours vos solutions. Suivre les spécifications, les normes et les directives est bon, mais ne vous y mènera pas complètement. Au final, chaque produit doit être analysé seul.
2
DA01

Tu as écrit:

1.Si nous suivons les règles de http://www.w3.org/WAI/WCAG20/quickref/ , elles contredisent parfois les spécifications écrites par le client. Comment devrions-nous y faire face?

Comme quelqu'un l'a déjà dit, la meilleure chose est: dites à votre client qu'il y a des contrats et qu'il vaut mieux suivre la norme. et vous avez également écrit:

2.En utilisant les "nouvelles technologies" (comme AJAX et en remplaçant une partie du DOM), il n'est pas facile de vérifier si nous suivons les règles. Par exemple, lorsque je clique sur l'un des onglets, une partie du contenu sera remplacée. Quand je regarde la source (Firefox 3.6.10), il n'y a pas de changement du tout. Alors comment vérifiez-vous si vous suivez correctement les règles?

Si pour vous c'est très important je vous suggère de demander à quelques stores d'essayer votre site web. Parfois, les outils qui vérifient l'accessibilité ne sont pas le meilleur choix!

0
Filippo1980

Au cours des étapes de conception, vous pouvez prendre en compte les problèmes d'accessibilité de votre site Web, quel que soit le type d'informations que votre site Web aura. Lorsque vous suivez les règles d'accessibilité, vous ne considérez pas seulement les personnes handicapées ... vous tenez compte de tout l'univers des utilisateurs qui peuvent trouver des informations utiles dans votre nouveau site Web.

L'approche la plus simple consiste à créer votre application en ajax comme vous l'avez dit, et en même temps à vous assurer que votre site Web peut fonctionner sans javascript. Par exemple, l'utilisation des balises xhtml (liens) peut vous aider à rendre votre site Web entier disponible sans javascript et les lecteurs d'écran ou le navigateur vocal fonctionneront également sur votre site Web.

Une illustration pour ces balises peut être:

< a id=\"item_menu_15\" href="?module=rapido&amp;mitem=15"
onclick="cargar_modulo('publi_cont',
'comp=articulos&amp;tipo=2&amp;id=18&amp;modv=',
'Loading...',15,this,0);return false;" >

Où:

id=dom_id (un objet dom)

href= doit contenir le lien direct vers le contenu actuel que vous souhaitez afficher

onclick= doit contenir la fonction que vous utilisez pour créer l'interaction ajax et donner les paramètres dont vous avez besoin comme publi_cont (dom_id - pour le conteneur) et url/parameters (comp=articulos&amp;tipo=2&amp;id=18&amp;modv=) que vous souhaitez visualiser à l'intérieur du conteneur, etc.

N'oubliez pas que les informations à afficher en utilisant ajax ou non (lien direct) doivent être les mêmes. Ensuite, tous les utilisateurs, peu importe l'accessibilité, peuvent voir le site Web de la même manière. Ainsi, vous n'avez pas besoin de créer différentes versions de votre site Web en fonction des personnes handicapées. Vous devriez considérer les règles d'accessibilité de votre site Web dès le début de vos procédures de conception, puis la convivialité pourrait également être augmentée car vos utilisateurs cibles sont plus que sans tenir compte des règles d'accessibilité. Bien sûr, cela dépend des fonctionnalités dont le client a besoin, mais vous pouvez expliquer que ce pourrait être une bonne idée d'augmenter votre groupe cible en tenant compte des problèmes d'accessibilité car la convivialité peut également augmenter.

0
user1982