Un peu d'AJAX et tout disparaît ! écouter le billet : Un peu d'AJAX et tout disparaît ! - mp3 - nouvelle fenêtre

samedi 6 mai 2006 à 13:14 :: Accessibilité :: #21 :: rss

Au cours des formations accessibilité où je suis intervenu ces derniers temps, une question revient régulièrement et cela quel que soit le public, du grand compte au ministère en passant par la collectivité locale et l'association. Preuve s'il en est que le terme et les notions qui l'accompagnent se répendent vite et ne se cantonnent pas aux directions marketing des entreprises du CAC 40.

La question qui est donc sur toutes les lèvres en ce moment la voici :

Et AJAX vous en pensez-quoi ? ça peut être accessible ?

Avant de répondre et de m'attirer les foudres des ardents défenseurs de la "philosophie" web 2.0, sachez tout de même que je ne suis pas un sombre conservateur, pour preuve je suis un lecteur régulier de Science et Vie et de Fred Cavazza. Même si je dois l'avouer, parfois tout cela me fait un peu peur.

Bref, revenons à nos cochons moutons, pardon, le web évolue et heureusement, mais il serait bien qu'il évolue pour tout le monde.

Mais au fait y a quoi dans l'AJAX ?

rien de toxique de premier abord mais pour ceux qui veulent mettre à jour leurs connaissances ou se rafraîchir la mémoire je conseille vivement la lecture de la page qui y est consacrée sur Wikipédia qui me semble on ne peut plus explicite.

Principalement, cela repose sur l'utilisation de l'objet javascript XMLHttpRequest pour mettre à jour un contenu de votre page sans avoir à la recharger.

Flash et AJAX

Flash permet également de mettre à jour un contenu sans recharger la page et les problèmes liés à son utilisation se rapprochent grandement de ceux liés à l'utilisation d'AJAX :

  • Flash nécessite un plugin, AJAX nécessite javascript et activeX pour fonctionner sur Internet Explorer.
  • Ils posent tous les deux des problèmes de référencement.
  • Ils posent également des problèmes liés à la perte de fonctionnalités du navigateur (favoris et navigation avec les boutons suivant et précédent).
  • Enfin, ils posent souvent des problèmes de vocalisation par les lecteurs d'écran.

Oui mais moi j'ai de l'AJAX qui lave plus blanc que blanc !

Ma réponse concernant l'accessibilité d'AJAX est donc comme pour le Flash :
à la base ce n'est pas accessible mais cela peut être amélioré et en fonction de l'objectif à atteindre, on peut arriver à quelque chose de satisfaisant mais pas accessible en soit.

En effet, il est possible de résoudre une bonne partie des problèmes liés à l'utilisation d'AJAX :

  • Des alternatives côté serveur peuvent être mises en place pour les navigateurs ou les utilisateurs qui auraient désactivé javascript.
  • Les problèmes liés au référencement du contenu devraient se résoudre rapidement avec l'évolution des robots des moteurs de recherche (cf: le nouveau robot de google dont j'ai déjà parlé précédemment)
  • Les pertes de fonctionnalités du navigateur peuvent également être évitées si l'on y prend garde, voir par exemple la démo ASK AJAX de Robert Nyman, en continuant de spécifier des url sur les liens au lieu d'appeler uniquement votre AJAX sur des événements javascript onclick ou autres.

Il reste cependant un problème : celui d'avertir l'utilisateur lorsqu'il y a eu une mise à jour du contenu dans la page. Pour un utilisateur voyant, cela peut se faire relativement simplement en utilisant par exemple une technique de mise en couleur ou en faisant apparaître une image dans la page indiquant le changement. Pour un utilisateur déficient visuel utilisateur d'un lecteur d'écran cela devient compliqué : la lecture et la vision de la page se font de manière linéaire et si une mise à jour est faite avant son point de lecture le lecteur n'en saura rien si il ne relit pas le document depuis le début.

AJAX et les lecteurs d'écrans

Contrairement à ce qu'on peut penser, la majorité des lecteurs d'écrans présent à l'heure actuelle sur le marché supportent le javascript, mais ils le font de façons différentes et plus ou moins aléatoire. Les événements onclick sur les liens et les éléments de formulaires restent cependant bien supportés ce qui dans le cas d'AJAX déclenché après une action de l'utilisateur est bien utile.

Un article paru très récemment sur Sitepoint donne le résultat de tests cherchant à découvrir la meilleure solution pour avertir l'utilisateur qu'une mise à jour a été effectuée dans le contenu de la page.

Pour cela, les principaux lecteurs d'écran du marché (Jaws, Homepage Reader, Windows Eyes, Connect Outloud, Hal) ont été utilisés et la zone de contenu à mettre à jour ciblée par le script AJAX a été testée selon plusieurs types : texte simple, lien, champ texte ou bouton de formulaire.
Les différents tests qui ont été fait sont de changer la position dans la page comme on le ferait avec une ancre, forcer le focus sur l'élément mis à jour, sélectionner le texte mis à jour, et enfin, la solution la plus violente : utiliser une boite d'alerte javascript pour prévenir de la mise à jour.

La mauvaise nouvelle c'est qu'aucune des solutions testées ne fonctionne correctement sur l'ensemble des lecteurs d'écran testés, celle posant le moins de problème étant évidement celle avec le plus de conséquences visuelles pour les utilisateurs voyants, à savoir la boite d'alerte javascript.

Avec le temps

Pour l'heure AJAX n'est donc pas accessible s'il ne possède pas d'alternative (la version sans javascript), mais nous pouvons cependant nous réjouir car des efforts sont en court au niveau des fabricants d'aides techniques, des concepteurs de navigateurs, et même du W3C pour que tout cela s'harmonise un peu, que notre contenu mis à jour ne finisse pas par disparaître et que le plus ergonomique apporté par ces techniques soit bénéfique à tous.

Trackbacks

Aucun trackback.

Les trackbacks pour ce billet sont fermés.

Commentaires

1. Le mercredi 17 mai 2006 à 10:47, par Stephane Deschamps

Salut Aurélien,

Chouette résumé, merci.

2. Le samedi 27 mai 2006 à 03:35, par Lu

On ressasse toujours la même chose sans cesse de la minorité et de l'accessibilité, tellement, que ça en devient de la débilité. Imaginez tout simplement l'homme blanc intégrant le milliard de chinois, les hindous et les africains dans son mode de vie (voitures, tout electro-truc et autres produits de consommation)!? Il n'y aura jamais assez de ressources pour tous ! Et la réalité virtuellen'est pas une exception à cette régle implacable. On se s'implique pas à "produire du web" pour les 0.4% d'utilisateurs mac.

3. Le vendredi 2 juin 2006 à 13:47, par Colivier

Ajax est utile uniquement pour les applications en ligne (CMS, webmail, etc). Inutile de mettre de l'Ajax dans un site d'informations ou de documentation...

A mon sens le problème d'accessibilité ne se pose donc pas.

Réponse de aurélien levy le vendredi 2 juin 2006 à 13:58

en théorie c'est vrai, dans la pratique certains cèdent à l'effet de mode comme ils ont cèdé un temps à la mode du Flash (on a par exemple une version Flash pour le site du ministère de l'agriculture).

Parallèlement, je rappelle que les postes de travail sont également sensés être accessible, si un CMS, un intranet, un webmail ou toutes autres applications sont des outils de travail ils devront donc être accessibles.

4. Le mercredi 9 août 2006 à 15:57, par Rio Hotel Las Vegas

Thanks for the write-up :(

5. Le dimanche 19 novembre 2006 à 09:44, par Vicodin Tylenol 4

Thanks for the write-up!

6. Le samedi 2 décembre 2006 à 01:38, par Ralph Lauren Smuggled Label Jeans

Thanks for the write-up...

7. Le mercredi 4 avril 2007 à 13:57, par Nico

Si le problème d'accessibilité se pose. Ca ne sert à rien d'avoir un site ultra fonctionel fonctionnant avec la techologie ajax si il n'est pas référencé du tout!

Réponse de aurélien levy le jeudi 5 avril 2007 à 10:09

Si tu parle de problème de référencement d'ajax, tout dépend ce que tu concidère comme étant de l'ajax et ce que tu fais avec.

8. Le lundi 28 janvier 2008 à 18:33, par Gérard M.

Comment savoir si un prestataire est vraiment agréé par Google pour l'achat de mots clés ? Par exemple le site web de l'agence One Digital www.one-digital.fr/liens-... fait apparaître le logo mais il n'y a aucun moyen de vérifier ! Comment puis-je vérifier qu'ils sont bien agréé Google ?

9. Le samedi 23 février 2008 à 18:43, par Robert

Oooh un troll ^^
Géraard ! Qu'est ce que l'achat de mot clé à voir avec l'AJAX ? Il faut lire avant de poser des questions à tout va ;-)

Pour te répondre, tu auras une certitude que lorsque tu auras posé ta question directement à Google.

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.

Calendrier

« mai 2006 »
lunmarmerjeuvensamdim
1234567
891011121314
15161718192021
22232425262728
293031

Catégories

Sondage

Lequel des ces tutoriaux préféreriez vous voir traiter en priorité ?

Syndication

Archives

Il y a 105 billets publies sur ce blog, alors n'hésitez pas à fouiner

Liens