Ajax et frames, mêmes défauts!
ballpark nous propose la lecture d’un article de Jakob Nielsen Chris Evoy: “Why Ajax Sucks (Most of the Time)“.
Les vétérans du web y reconnaîtront un parallèle avec son article décriant l’usage des frames:
Judging from the email I receive, the most controversial statement I have made in my Alertbox columns so far was to make “the use of Ajax” one of the mistakes in my list of top ten mistakes in Web design.
For new or inexperienced Web designers, I stand by my original recommendation. Ajax: Just Say No.
Quels sont les problèmes fondamentaux posés par Ajax (selon Nielsen):
- Le web que nous connaissons repose sur le concept de pages, en tant qu’unités de navigation et possédant une adresse permanente: l’URL. Il est par conséquent possible de “naviguer” entre ces unités et d’en conserver une (bookmark). Le bouton “back” par exemple n’a plus d’effets.
- Ajax vient casser cette notion de page puisque la navigation se fait à présent de manière séquentielle à l’intérieur de la page.
- Les navigateurs ne sont pas fait pour gérer cette nouvelle manière de naviguer et de structurer l’information. Essayez de bookmarquer une page pleine d’Ajax et vous verrez que ce que vous retrouverez par la suite en lançant le bookmark ne ressemble pas à la page que vous pensiez avoir conservées. Logique.
- Par conséquent, le concept d’URL n’a plus de sens puisque l’URL n’est plus à même de décrire et de pointer vers un contenu précis, ce dernier pouvant changer selon les clics de l’utilisateur à l’intérieur de la page. L’URL a été conçue pour pointer vers la page d’origine et non vers une page telle qu’elle est après quelques clics: impossibilité donc de montrer une page à quelqu’un en lui envoyant son URL. Comment fera-t-on des citations avec des pages ajaxées?
Given that social filtering is one of the most powerful mechanisms for information discovery on the Internet, it is an utter disaster to disable the URL as an addressing mechanism.
- L’ensemble des navigateurs (et on ne parle pas de ceux mobiles, etc.) ne sont pas Ajax-compatibles (ainsi, environ 13% des utilisateurs ne pourront même pas utiliser Ajax). Il est possible de prévoir une deuxième version du site pour ce type d’utilisateurs mais dans la pratique cela se fait peu.
- Comme si ce n’était pas assez suffisant, rajoutons le fait que les navigateurs ne sont pas tous capables d’imprimer correctement des pages ajaxées, qu’Ajax est bien plus difficile à maîtriser que le HTML d’où le nombre de codes mal écrits et que les moteurs de recherche s’embrouillent facilement les pattes.
Nielsen sort néanmoins (et ce n’est pas son habitude) de sa manière de toujours voir les choses de manière binaires en reconnaissant que certains usages d’Ajax peuvent être justifiés s’ils sont bien implémentés:
Tags: accessibilite, ajax, bookmark, frames, pageWith respect to the use of ajax by highly skilled Web designers, I have changed my opinion somewhat: people who really know what they are doing can sometimes use ajax to good effect, though even experienced designers are advised to use ajax as sparingly as possible.
Vous aimez ce type de contenu?
Alors suivez-ce blog par RSS ou par email!
15 May 2006 à 15:24
Il faudrait en effet utiliser Ajax avec parsimonie et ne pas en abuser (sauf si on connait la population cible), et s’assurer que le site soit utilisable et accessible même si l’on ne beneficie pas d’une solution logicielle adequate. Il y a tout de meme des astuces et des outils permettant de contrer les problemes evoque par le tout puissant Nielsen, je pense notamment a Beahviour ou encore a cet article qui aborde ce meme sujet:
http://ajaxian.com/archives/graceful-degredation-with-prototype-scriptaculous-and-ruby-on-rails
Bonne lecture
15 May 2006 à 21:11
Je suis d’accord avec Roby et préfère également considèrer Ajax comme un moyen plutôt qu’une fin en soit.
Petite correction par rapport à l’article cité : l’auteur n’est pas Nielsen, mais Chris Evoy, comme cela est mentionné tout en bas de la page. Mais il y avait de quoi tomber dans le piège
(Roby, pour info, plus besoin de Behaviour depuis Prototype 1.50. La librairie gère les événements basés sur des sélecteurs. Envoie-moi un mail si jamais
)
15 May 2006 à 21:22
Merci pour la correction marc-o et bienvenue sur ce site car c’est ton premier commentaire. Trop d’honneur!
david
16 May 2006 à 7:49
merci pour l’accueil, David!
premier et, je l’espère, pas dernier commentaire
17 May 2006 à 17:09
Yep, marc-o, mais actuellement, prototype n’est qu’a sa version 1.40