Détecter si Javascript est activé avant l’affichage de la page
Publié le

Il est fréquent d'associer Javascript à une technologie non accessible, mais l'inaccessibilité d'un site n'est pas dû à Javascript mais à l'utilisation que l'on en fait.
Je ne vais pas m'étendre sur le sujet mais je vous recommande fortement de comprendre comment procéder, un excellent article traitant ce sujet existe déjà : Graceful degradation and progressive enhancement (Mode dégradé et mode réhaussé).
Fervent défenseur du progressive enhancement, je me suis vite retrouvé face à une difficulté : si on décide de laisser une sous-navigation affichée via CSS et qu'on la masque via Javascript, cette sous-navigation sera affichée pendant quelques millisecondes avant de se masquer, provoquant un flash visuel disgracieux, c'est également le cas pour tous nos modules que nous essaierons de rendre accessible via cette méthode.
Le problème vient du fait que la fonction onload() de Javascript (ou la fonction ready() de jQuery) ne s'exécute qu'après le chargement du DOM, donc le contenu s'affiche avant que Javascript n'ait le temps de le masquer.
Il existe cependant un solution à ce problème : détecter si Javascript est activé avant l'affichage de la page.

