Page 1 sur 2

Accessibilité sans Javascript activé

Posté : 09 oct. 2007, 17:25
par AB
A propos d'accessibilité, notamment le fait que les sites puissent être visités sans JS activé, je commence à avoir un gros doute.

Avec la mode AJAX de nombreux sites sont inutilisables sans JS activés ex http://www.materiel.net
Ce site était auparavant tout php... Je comprend bien que l'on gagne en performances mais dans le cas d'un site marchand, AJAX n'est pas absolument indispensable.

Néanmoins on conseille toujours ici et là d'éviter que JS soit nécessaire à la consultation d'un site. C'est cette position que j'adopte encore pour l'instant, mais est-ce bien encore nécessaire, ou est-ce un combat d'arrière garde ?

D'où la question suivante :
Les navigateurs pour non voyants gèrent-ils mieux le JS, ou les non voyants sont-ils exclus des sites comme matériel.net ?

Quelle est votre position ?

Posté : 09 oct. 2007, 19:50
par Cyrano
Je serais tenté de répondre que ça dépend principalement du public cible. Actuellement, je travaille sur un projet qui impose quasiment le JavaScript. Si on le désactive, ça va faire pitié et il est difficile de contourner ça. Mais le site en question, quoique s'adressant à tout le monde reste néanmoins à l'intention d'internautes lambdas ayant des courses à faire. Il y a aussi les impératifs fixés par le client. Dans notre cas, on a pas un choix considérable : Cookies + JavaScript, sinon, le site va devenir non navigable.

Je ne dirais pas qu'il s'agit d'un combat d'arrière-garde. Mais ça met un lumière un problème qu'aucun développeur ne doit négliger : la sécurité. Même lorsqu'on développe des fonctionnalités pour améliorer l'ergonomie et le confort de l'utilisateur avec du JavaScript, il faut veiller à ce que ça ne mette pas en danger son système. J'ajouterais également qu'il ne faut pas non plus abuser d'un système. Les effets de mode sont courants et on voit des sites presque 100% Ajax tout comme on a vu des sites 100% Flash. Mon point de vue global : utiliser une technique quand elle apporte un + à un site, tout à fait d'accord, mais pas "pour faire bien parce que c'est à la mode" : l'internaute se fout de la mode, il veut d'abord obtenir l'information qu'il est venu chercher. Si c'est en plus à la mode, tant mieux, mais ça ne devrait jamais être une priorité.

Je dirais quand même enfin que si on voit pas mal de monde parmi les développeurs dire tout le mal imaginable de JavaScript, je suis enclin à penser que c'est surtout parce qu'il ne savent pas trop programmer en JavaScript et plutôt que de plonger dans une doc fastidieuse, ils écartent autant que possible ce langage de leurs outils, ça simplifie leur vie... quoique ...

Posté : 09 oct. 2007, 22:59
par Aureusms
Je suis d'accord avec Cyrano. J'ai débuté mon site interne en PHP pur, mais la foule (5 personnes :lol: ) m'a réclamé plus d'interactivité que seul Javascript peut faire. Ainsi, je ne me sert que de Javascript pour afficher / cacher et pour AJAX (qui dans mon utilisation est une forme de afficher / cacher dynamique :wink: ). Le reste est géré par PHP, HTML et CSS. On a pas dire, AJAX est vraiment très pratique en cas de consultation de BDD très fréquente avec modifications dynamiques (ce qui est notre cas).

La où je te rejoins est que dans le cas d'un BDD simple type catalogue sans modification dynamique, javascript, n'est pas indispensable. Ce sera moins beau dynamiquement (car les CSS seront quand même là) mais cela fonctionnera parfaitement.

Je pense qu'il faut un peu de tous les langages pour faire un site convenable.

PS. Cyrano, le Javascript n'est pas si compliqué quand on connait PHP... (et je ne suis pas informaticien...) mais ça je sais que tu le sais :wink:

PS2. J'ai marqué combien de "dynamiques" dans mon post ?

Posté : 10 oct. 2007, 07:53
par mojorisin
Salut,
l'idéale pour un site est que la désactivation de javascript n'empeche pas la consultation car l'accessibilité ne concerne pas uniquement les personnes non-voyantes mais également les personnes avec un handicap cognitif ou physique ou encore les périphériques à petit écran, sans clavier physique ou sans souris ...
De plus certaines entreprises désactive purement et simplement activeX sur l'ensemble des MSIE dans le parc informatique du fait de sa faible sécurité , il sera alors impossible d'employer ajax sur ces machines. Pire un filtrage par proxy qui supprime tout fichiers contenant un appel activeX

Le mieux est donc de développer le site avec un fonctionnement traditionnel sans javascript : liens et formulaires.
Ensuite il suffit de l'enrichir avec du javascript non obstructif.

Posté : 10 oct. 2007, 08:26
par Tracker
Salut,
l'idéale pour un site est que la désactivation de javascript n'empeche pas la consultation car l'accessibilité ne concerne pas uniquement les personnes non-voyantes mais également les personnes avec un handicap cognitif ou physique ou encore les périphériques à petit écran, sans clavier physique ou sans souris ...
De plus certaines entreprises désactive purement et simplement activeX sur l'ensemble des MSIE dans le parc informatique du fait de sa faible sécurité , il sera alors impossible d'employer ajax sur ces machines. Pire un filtrage par proxy qui supprime tout fichiers contenant un appel activeX

Le mieux est donc de développer le site avec un fonctionnement traditionnel sans javascript : liens et formulaires.
Ensuite il suffit de l'enrichir avec du javascript non obstructif.
Beaucoup de développements aujourd'hui ne sont plus des sites, mais des applications dénuées de l'idée d'un contenu statique arborescent comme le sous-entendait la philosophie www lors de sa création. Il n'est donc plus question d'utiliser les mêmes principes de mise en oeuvre sachant qu'ils entrainent des manques ou des incohérences fonctionnelles et ergonomiques rédibitoires ne serait-ce que sur l'aspect navigation par historique.

La réponse, du coup, ne peut pas être aussi tranchée, un site de consultation peut sans doute se passer de javascript, alors qu'un site strictement interactif (applicatif) ne le peut pas sauf en acceptant des limitations ou des non-sens fonctionnels.

Le couplet justifiant les choix techniques en s'appuyant sur des mauvaises stratégies sécuritaires d'entreprises, à mon sens, ne tient pas debout. Certains utilisent encore IE3 ou d'antiques Netscapes, est-ce pour autant necéssaire qu'il faille que l'on vire les CSS ?

Posté : 10 oct. 2007, 09:50
par AB
Merci de ces premières réponses.

Pour l'instant, sachant qui est l'administrateur d'un site, j'utilise javascript abondamment dans la partie administrateur : sans javascript activé la partie admin n'est pas utilisable. Dans cette partie il serait difficile de m'en passer pour l'interface graphique etc.

Mais pour la partie visiteur j'utilise du javascript non obstructif : l'essentiel du site est fonctionnel sans javascript activé.

J'hésite à rendre la partie visiteur plus sensible au javascript...

En constatant que de plus en plus de sites font le contraire je me disais que peut-être les navigateurs pour non voyant savent maintenant mieux gérer le javascript :?:
Sinon cela signifierait que les sites dont JS est nécessaire pour l'essentiel du fonctionnement, font l'impasse purement et simplement sur ce public ?

Si quelqu'un avait des éléments de réponse sur cette question.

J'aimerais mettre un peu plus de JS mais je ne souhaite pas faire l'impasse sur telle ou telle catégorie de public. Est-ce possible ?

Posté : 10 oct. 2007, 10:36
par jojolapine
Bonjour,
pour ma part, j'essaye autant que possible de doubler une action javascript par un traitement php "normal", dans le genre, on a un tableau de donnée, et des petites flèches pour trier selon les colonnes, et bien je fait ça en javacript, mais si il est désactivé, le flèche renvoit sur ?col=2&sens=ASC...
Mais c'est vrai que pour des cas plus compliqué, c'est pas toujours possible de faire cette technique.

Posté : 10 oct. 2007, 10:43
par d0m
tu peux faire un autre traitement si javascript n'est pas activé il me semble. Pour les boutons par exemple ou des fonctions importantes de ton application qui utilisent javascript, une alternative en somme.

Posté : 10 oct. 2007, 17:23
par AB
@jojolapine @dOm

Oui c'est ce que je fais :wink:
Mais ce que je voulais savoir plus particulièrement c'est dans quelle mesure je peux implémenter du JS sans solution de remplacement et sans léser le public des non voyants (sur des parties essentielles d'un site). Leur navigateur peut-il interpréter du JS et si oui dans quelle mesure ?

Il y a quelques années c'était non, mais je crois me souvenir que la question était à l'étude. Et comme je vois de plus en plus d'AJAX sans solution de remplacement, je me disais que peut-être leurs navigateurs avaient évolués... :?:

Posté : 28 oct. 2007, 14:20
par Hywan
Bonjour tout le monde :)

A la demande de AB je viens donner quelques éléments de réponses à sa question. Premièrement, désolé pour mon absence, mais me voilà bien de retour. Internet a mis le temps à arriver (2 mois), et mon ordi (PC) est tombé en panne. Du coup, nouvelle connexion, et nouvel ordi : iMac 24" :D, il est somptueux, magnifique, incroyable, stupéfiant, splentide ... et Leopard arrive dans 2 jours ;-). Bref, après 1 semaine de configuration acharnée, et de restauration de documents massifs, je peux enfin donner une réponse :).

Donc : deuxièmement. Pendant mon absence d'Internet, je doute qu'on ai parlé d'accessibilité Javascript au W3C. Si je regarde les archives aucun sujet n'a été abordé ou ouvert. J'en conclus donc qu'il n'y a pas eu de changement. Et dans ce cas, l'accessibilité Javascript est très très faible, pour ne pas dire nul ou inexistante.

Il y a une bonne remarque qui a été faite, et j'utilise toujours ce therme pour décrire l'utilisation qu'un développeur doit avoir de Javascript : non obstructif. L'utilisation d'Ajax à tout va me gonfle royalement. Ajax est plutôt sympa dans certains cas (live search par exemple), mais son utilisation abusive n'est pas justifiée dans 99% des cas. Et Ajax peut rendre un site complètement inutilisable. Un exemple simple : mon boutton Précédent et Suivant ne fonctionne pas sur un site entièrement réalisé en Ajax. Pratique pour la navigation non-linéaire hein (principe d'Internet à ces débuts).

Dire que Javascript n'améliore pas la navigation serait mentir. On doit le reconnaître, des parties administratives où le Javascript est utilisé avec sagesse est extrêmement agréable. Mais Javascript est très mal reconnu par les outils spécialisés dans l'accessibilité. Je pense notamment aux plages brailles.
Un exemple tout bête qui me vient à l'esprit. Un menu déroulant avec des listes (<li> ou <dl> peu importe). C'est très agréable de l'utiliser dans un back-office, on accède aux données rapidement, mais si vous avez une plage braille, vous allez devoir vous faner toutes les listes une par une, c'est long, très long. En fait, mon exemple est mauvais, mais il soulève un autre problème. On peut réaliser un tel menu avec CSS, et le problème serait alors le même, excepté pour les plages brailles récentes qui – il me semble – supporte le CSS. Le support de CSS est de mieux en mieux gérer selon les outils.

Néanmoins, dans certains cas, Javascript peut améliorer l'accessibilité.
Tout ceci est bien compliqué. Je m'y perds moi-même à vrai dire. J'avais pas mal réfléchis à l'accessibilité de CSS, mais comme je ne programme pas Javascript, je ne m'y étais pas vraiment penché. Quelques liens qui peuvent être utile à mon avis (par ordre d'importance) : WebAIM : Creating Accessible Javascript, Pompage.net : Évaluer l'accessibilité d'un site Web, W3C : User Agent Accessibility Guidelines 1.0.

Sinon, je pensais à une chose. Les outils d'accessibilité sont basés sur les standards. Javascript n'est pas standardisé. En revanche, DOM (niveau 1 et 2 — le 3 est en cours d'écriture —) le sont, tout comme ECMAScript. Peut être faut-il regarder de ce côté pour trouver une réponse plus approfondies.


Voilà, j'arrive un peu après la bataille, mais le débat est intéressant, pourquoi ne pas le relancer ? Ou en commencer un chez nos amis et confrères Alsacréations (mieux callés sur le sujet j'imagine).

Posté : 28 oct. 2007, 15:55
par Power Web
Salut, moi j'ai crée et je suis toujours en train de creer la nouvelle version de mon site et je trouve que le JavaScript n'est pas vraiment indispensable...

Je m'en sers très peu mis à part pour les pop-up et les roll-over (que je fais souvent avec du HTML)

Mais je préfère utiliser le PHP pour, par exemple, les formulaires :
En javascript on peut rendre un bouton d'envoi de type "button" inactif si les champs ne sont pas remplis mais si un visiteur à désactivé le JS, il pourra tout de même envoyer le message ou autre... Tans dis que avec une vérification PHP sur une autre page ou sur la même il ne pourra en aucuns cas l'envoyer ;)

Ce que j'avais envie de tester en JS c'est une petite barre de chargement (ou pourcentage) le temps que les images/pages se chargent ^^ :)

Après pour les zones de texte avec BBcode c'est sur que c'est pas mal, mais bon on peut tout de même mettre un message dessus en disant que [url=lien] ça serait pour un lien pour être gras, etc...

Posté : 28 oct. 2007, 16:08
par Victor BRITO
Voilà, j'arrive un peu après la bataille, mais le débat est intéressant, pourquoi ne pas le relancer ? Ou en commencer un chez nos amis et confrères Alsacréations (mieux callés sur le sujet j'imagine).
Sans oublier nos amis de WebRankInfo, puisque ce problème d'accessibilité ne concerne pas seulement les utilisateurs ayant désactivé JavaScript ou utilisant un navigateur ou plage braille n'implémentant pas JavaScript, mais aussi les robots des moteurs de recherche, qui ne lisent pas le JavaScript. Par conséquent, un site bourré d'Ajax, à moins que sa boîte ou son webmestre soit suffisamment pressé ou fortuné pour recourir à des services de référencement payant, a de fortes chances de voir son référencement manuel et naturel voué à l'échec.

Posté : 28 oct. 2007, 17:33
par Hywan
Très très bonne remarque. J'y avais pas pensé une seconde. Je plussoyes à mort comme dirait les jeunes ;-) (quoi, je suis jeune ... nan les très jeunes ... en dessous de 19 quoi :P).

Bonne remarque, un argument de plus contre le tout Javascript :).
Un volontaire pour poser cette question sur les différents forums cités ?

Posté : 28 oct. 2007, 18:16
par Victor BRITO
En guise de rappel, pour s'assurer qu'un site ait toutes les chances d'être accessible, ou du moins d'être parfaitement consultable, il faut le parcourir en désactivant les CSS, JavaScript et les plug-ins (celui de Flash, notamment). C'est d'autant plus facile à faire que Firefox et Opera (ce dernier est même très riche en la matière : je vous laisse explorer son menu Afficher > Style :wink: ) le permettent facilement. Qui mieux est, si vous avez un navigateur texte comme Lynx, utilisez-le, ou faites réaliser une capture d'écran avec SCapture en sélectionnant l'un des deux navigateurs texte proposés.

Enfin, pour vous rassurer complètement, soumettez le site à un validateur d'accessibilité, comme celui de l'APINC, celui de WAVE ou celui de Cynthia Says. À cette liste, on peut ajouter Opquast, qui effectue des audits vérifiant la mise en place des bonnes pratiques du Web.

Posté : 28 oct. 2007, 22:33
par Hywan
Ouah l'aut' comme 'y fait le pub' eh di'. A mon avis, ce ne sont pas les liens qui manques ;-).