...est offerte par Ethan Marcotte. Petite traduction de l'extrait :

J'ai découvert à quel point à quel point j'ai pu m'enfoncer dans l'erreur.

Revenons un peu en arrière (...) : il y a à peu près deux ans, j'étais responsable de l'interface utilisateur d'une nouvelle application (...) Une des requêtes du marketing portait sur des menus en DHTML. Nos utilisateurs devaient pouvoir accéder à toutes les pages du site depuis des menus déroulants, disaient-ils. Pas de problème, ai-je répondu (j'ai du opiner du chef, du haut de mon savoir. Il faut dire que j'étais con). Et il faut que cela fonctionne dans Netscape 4. Pas de problème, ai-je répondu. Affublé de cet objectif, je me suis mis au travail. Ne ménageant ni mon temps ni mes ressources, j'ai attelé ma fidèle API DHTML, mon super detecteur de navigateurs, mon contructeur d'objet paré à l'action : en bref, des lignes et des lignes (et des lignes et des lignes) de code JavaScript pur, sublime et raffiné. J'ai écrit et testé le code tel un démon. J'ai exulté en me vautrant dans des document.write() (...)

Peu importe le balisage : on verra ça plus tard.

Après plusieurs jours de travail, mes menus adorés étaient prêts.

Ils sont superbes, disaient-ils. Et Netscape 4 les adore !

Je sais, répondais-je.

Peu importe le balisage : on verra ça plus tard.

Evidemment, la chute, c'est que plus tard, c'est maintenant. Je suis en train de convertir des parties de l'interface utilisateur en XHTML/CSS, en vue d'éliminer les problèmes d'accessibilité qui plombaient notre application.

Concrètement, j'ai récolté ce que j'avais semé. L'horrible mélange de DIV et de TABLE que j'avais utilisé pour que Netscape 4 affiche correctement mes menus ressemblait à une effroyable monstruosité pour quiconque avait désactivé JavaScript. Même si la solution que j'avais mis en place était celle qui convenait, elle n'était probablement pas bonne. Notre jolie petite applications était inutilisable pour 13% de nos utilisateurs. J'ai donc fait un adieu larmoyant à mon JavaScript adoré, et j'ai passé les jours qui suivaient à transpirer sur un balisage vraiment monstrueux. C'était le genre de nettoyage qu'on se doit de commencer avec une quantité quasi-illimitée de Napalm; mais je n'avais que mon sourire désarmant.

Bien sûr, à l'heure du bilan, j'ai eu moi aussi une confirmation : les mecs, ça ne vaut pas le coup de travailler sans les standards du Web. Je n'en dirais pas plus. Je ne ferais pas de fanatisme, ni rien. Si j'avais commencé sur les fondations d'un balisage valide et bien structuré, stylé avec CSS et scripté via le DOM, je ne serais pas en train de raconter ma vie en ce moment. Mais maintenant, j'ai mis en place une solution plus légère de 60% que la version précédente, qui s'affiche décemment dans les navigateurs anciens non-conformes, et qui m'assure que je n'aurais pas à recommencer cela dans deux ans.

Moins de code, plus d'accessibilité, pour une plus grande durée.