Ah, une engueulade par blog interposés. C'est quelque chose que je n'apprécie guère. Aussi, quand PPK lui-même m'a répondu, je me suis demandé ce que je devrais faire. J'ai longuement lu son document. J'ai eu l'occasion d'aborder le sujet samedi dernier à Lyon, avec les lecteurs du StandBlog. Peter-Paul et moi nous sommes mal compris, et j'ai une part de responsabilité. Mettons les choses au point et levons mon approximation, source de malentendu :

Quand j'affirme que JavaScript a quasiment disparu des pages Web, je fais référence à cette horreur qu'est le dynamic-HTML, mélange de soupe de balises, de JavaScript et d'appels au DOM level 0 (la partie du DOM antérieure à la spec DOM du W3C, et qui n'a pas été intégrée dans le résultat des travaux de standardisation). Ce que je condamne, c'est l'abus de JavaScript à des fins de présentation. CSS a pris la relève, et c'est une bonne chose, car c'est plus facile à maintenir, et c'est infiniment plus accessible.

Cela ne signifie pas pour autant la mort de JavaScript, qui peut indéniablement être utile à quantité de niveaux, en particulier en terme de convivialité (c'est ainsi que nous l'utilisons sur OpenWeb). De son coté PPK travaille aussi dans une direction semblable, avec ses Usable forms.

Je suis donc pour l'utilisation de JavaScript, quand il y a valeur ajouté, dans la mesure où il n'y a pas de pénalisation des utilisateurs, des auteurs et de la pérennité du contenu.

De fait, je suis donc contre l'utilisation de JavaScript :

  • Pour simplement cliquer sur un lien. C'est une terrible bévue, surtout dans la mesure où il est fréquemment recommandé de désactiver JavaScript pour contourner des trous de sécurité (suivez mon regard).
  • Quand, comme le site de PPK, l'expérience est très dégradée, car le cadre de navigation disparait. Un site de centaines de pages sans navigation, c'est un site non navigable. Cerise sur le gateau, un message d'erreur incorrect est affiché Your browser does not support the W3C DOM. Ah, si, merci, mon navigateur le supporte. C'est juste que JavaScript est désactivé pour l'occasion.
  • Quand un site est inaccessible à cause de JavaScript (ça n'est visiblement pas le cas de celui de PPK). Il est effectivement possible de faire accessible avec du JavaScript, par exemple quand ce dernier rajoute du confort. PPK lui-même en convient : Does using JavaScript make a site inaccessible? Not in and of itself. Using JavaScript for extra functionalities is quite allowed.
  • Quand cela provoque la non-conformité des pages. Il est parfaitement possible de faire conforme avec du JavaScript. XHTML prevoit cela. Mais certaines méthodes forcent le développeur à faire du code invalide. C'est très regrettable de se priver des bénéfices offerts par la validation. Sans compter les arguments parfois douteux, du genre "My third reason to refuse the validation circus is the most personal and least technical one. It's an emotional matter. My rationality has taken a holiday." Je confirme, je ne peux pas lutter contre de tels arguments :-)

J'espère avoir clarifié ma position sur JavaScript. PPK et moi sommes d'accord sur le fait qu'il y a eu des abus. Mais pour autant, JavaScript, dans la mesure ou il respecte les points listés précedemment, peut apporter une valeur ajoutée. Et c'est tout bénéfice, pour tous les utilisateurs.