Paris Web vu par un étudiant (9/12)
Nous voilà aux trois quarts de cette série de billets consacrés à Paris Web 2007 pour un sujet qui aurait pu être très intéressant s’il n’avait pas été traité de façon aussi général.

En effet, la question d’AJAX et accessibilité touche un nombre croissant de développeurs (front et back office) et je m’attendais par conséquent à une présentation nettement plus technique. Malheureusement cette conférence n’a fait que survoler le sujet, n’abordant pas la question des Framework AJAX (qui sont de plus en plus utilisés), je vais cependant essayer de vous faire un résumé le plus instructif possible.
Passons l’historique d’AJAX sans grand intérêt et entrons directement dans le vif du sujet. L’accessibilité d’AJAX pose plusieurs problèmes, le premier concerne les navigateurs. En effet, selon ceci, le moteur d’interprétation est différent, ainsi sous IE 5 et 6, JavaScript passe par des objets ActiveX, sous opéra c’est un interpréteur ECMAScript qui se charge des opérations.
Bref, si rendre des CSS correctement interprétés sur tous les navigateurs courants est parfois complexe, c’est un jeu d’enfant comparé à JavaScript pour peu que l’on veuille créer dans des fonctions avancées. De plus, certaines personnes désactivent JavaScript (ou l’administrateur réseau du poste l’a fait) pour diverses raisons, dans ce cas là, adieu AJAX.
L’utilisation de bibliothèque peut très fortement augmenter le poids des pages, un problème non négligeable pour l’accessibilité, par conséquent, il faut essayer de limiter l’utilisation des outils s’il est possible de développer (facilement) soi même la solution recherchée, sinon il existe de nombreux compresseurs de fichiers JavaScript qui permettent de réduire la taille de vos fichiers.
AJAX pose également un problème pour les lecteurs d’écran. En effet, lors du rechargement automatique de la page, les lecteurs réagissent de deux manières différentes. Dans certains cas, ils reprennent la lecture de la page au départ, comme s’il s’agissait d’une nouvelle page. Si un seul bloc de la page se recharge automatiquement et de façon fréquente, la page devient complètement illisible.
Dans d’autres cas, le lecteur ne détecte pas que la page a été rechargée et continue de la lire sans même prévenir l’internaute. La solution idéale serait d’avertir l’utilisateur lors du rechargement de la page ou d’un bloc.
Par la suite Michel Hoël a évoqué les modes de développement JavaScript qu’il existe. Il y a 2 modes.
Le premier, que l’on appelle mode dégradé, consiste à développer son site avec AJAX (et plus globalement JavaScript) dès le départ et utiliser ensuite des alternatives (alt, title, noscript, noframe…) pour rendre le contenu accessible. Cette technique correspond à développer deux sites (vous n’aurez pas deux sites mais le rendu pourra être radicalement différent entre les versions avec ou sans JavaScript) et n’est donc pas conseillée.
La deuxième méthode, qu’il faut privilégier, est le mode rehaussé, aussi appelle Hijax. Ce mode correspond à développer le site complet sans CSS ni AJAX et ensuite rajouter ces deux langages mais de façon non-intrusive, c’est à dire qu’en aucun cas ils ne doivent rajouter du code, générer des pertes de contenu ou autres. Cela implique donc une conception très réfléchie.
Voilà pour ce qui a était dit lors de cette conférence. Vous comprendrez donc ma déception car au final AJAX n’a pratiquement pas (si ce n’est pas du tout, excepté concernant la question du rechargement des pages) abordé dans ce sujet.
Certes AJAX repose beaucoup sur JavaScript, mais n’est pas qu’un simple DHTML, et je pense qu’il aurait été très intéressant de rentrer plus dans les détails. Je tiens juste à préciser qu’il nous a été présenté une manière d’ouvrir des pop up de façon non intrusif en JavaScript, mais cet exemple n’avait qu’un rôle d’illustration minime.

Commentaires
29 novembre
Gaets86
Vaste sujet AJAX, très intéressant mais complexe car aujourd’hui il y a confusion dans ce langage (ou plutot cette ensemble de langage).
On se souvient des début de FLASH, du flash partout car c’est la classe, ça bouge, l’interface est “vivante”.
La question du poids et de l’accessibilité est vaste, j’ai à titre personnel mis en place un petit portfolio qui utilise ceraines librairies connues (higthslide, prototype….) et je me rend bien compte des limites, aujourd’hui même si mon site est dit accessible par le validateur du W3C je sais très bien que si je prend un lecteur braille, un lecteur vocale ou tout simplement un navigateur texte le rendu sera très complexe à appréhender, en effet ma page principale qui contient tout mon contenu (texte et images) à un poids de presque 3 Mo, donc inaccessible pour une connexion bas débit mais également inutilisable pour une personne utilisant un navigateur autre que Firefox, IE, Safari ou Opera.
Donc je peux dire qu’aujourd’hui il faut vraiment s’intéresser à AJAX afin de rendre cette techno utilisable et par conséquent accessible.
Au boulot les dev……
Laisser un commentaire