Back to the original French page Read this page in Italian by Google Translation Read this page in Portuguese by Google Translation Read this page in English by Google Translation Read this page in German by Google Translation Read this page in Spanish by Google Translation Read this page in Arabic by Google Translation Read this page in Hebrew by Google Translation

Synthèse pour le Javascript accessible

Aller au début du contenu sans utiliser la barre Consultation et Partage Mode d'emploi de la barre Consultation et Partage Ecoutez le contenu principal de cette page
Imprimer Imprimer le contenu principal de cette page Envoyer Envoyer par courriel le contenu principal de cette page Partager Partager cette page sur TwitThis Partager cette page sur Facebook Partager cette page sur Wikio Partager cette page sur Google Partager cette page sur LinkedIn Partager cette page sur Digg Partager cette page sur del.icio.us Partager cette page sur Netvibes

Avertissement : la version originale de ce document est Creating Accessible JavaScript : Accessible JavaScript Summary. Cette traduction en français a été réalisée par Ideose dans le cadre d’un accord entre WebAIM et Ideose.

Note : consulter la page Documents sur l’accessibilité du Web pour obtenir la liste de tous les documents déjà traduits. D’autres ressources sur l’accessibilité du Web sont également listées dans le Portail du numérique accessible.

Vue d’ensemble

Le JavaScript permet aux développeurs d’ajouter plus d’interaction, de traitement de l’information et de contrôle au contenu Web. Le JavaScript peut également créer des problèmes d’accessibilité, en limitant la navigation par clavier ou via une technologie d’assistance, en présentant un contenu ou une fonctionnalité qui n’est pas accessible aux technologies d’assistance, en limitant le contrôle par l’utilisateur des changements automatiques de contenu et en modifaint les fonctions natives du navigateur. Quand vous êtes confronté aux questions d’accessibilité du JavaScript, vous devez effectuer l’une des actions suivantes:

  • Assurez-vous que le JavaScript est directement accessible.
  • Fournissez une alternative non JavaScript accessible.

Le JavaScript est souvent utilisé pour faire des changements de décoration ou d’autres changements sur le contenu qui n’ont pas de conséquence sur l’accessibilité. Les contenus créés dans une page par le JavaScript sont accessibles si :

  • les gestionnaires d’événements indépendants des périphériques sont utilisés.
  • les contenus et les fonctionnalités créés par le JavaScript sont accessibles aux technologies d’assistance.
  • les éléments et les pages avec des scripts sont naviguables au clavier.
  • les fonctionnalités natives des navigateurs ne sont pas modifiées d’une manière qui peut créer de la confusion ou de l’inaccessibilité.
  • une alternative accessible est donnée quand le JavaScript ne peut pas être rendu nativement accessible.

Les gestionnaires d’événements JavaScript

Il existe deux types de gestionnaires d’événements JavaScript – ceux qui sont dépendants des périphériques et ceux qui sont indépendants. Quand vous implémentez des gestionnaires d’événements, vous devez utiliser un gestionnaire d’événement indépendant des périphériques ou utiliser plusieurs gestionnaires d’événements dépendants de périphériques pour prendre en compte tous les utilisateurs. Voici une liste des gestionnaires d’événements et de leurs problèmes d’accessibilité.

onMouseOver et onMouseOut
Dépendant d’un périphérique (demande l’utilisation de la souris).
Assurez-vous qu’aucun contenu ou fonctionnalité importante ne soit introduit par ce gestionnaire d’événements.
Utilisez le avec les gestionnaires d’événements onFocus et onBlur pour permettre l’accessibilité au clavier.
Fournissez une alternative accessible si le contenu ou la fonctionnalité ne peut pas être rendue nativement accessible.
onFocus et onBlur
Indépendant d’un périphérique (fonctionne à la fois avec le clavier et la souris).
Faites des tests pour vérifier que l’accessibilité n’est pas affectée.
onClick et onDblClick
Dépendant d’un périphérique (demande l’utilisation de la souris).
onClick est activé par une entrée clavier quand utilisé avec des liens et des champs de formulaires.
Il n’y a pas d’équivalents indépendants des périphériques ou accessibles au clavier à ces gestionnaires d’événements.
Les fonctionnalités et les contenus donnés par le gestionnaire d’événements onClick doivent aussi être rendus accessibles.
onChange et onSelect
Indépendant d’un périphérique (fonctionne à la fois avec le clavier et la souris).
Les fonctionnalités et les contenus donnés par les gestionnaires d’événements onChange et onSelect doivent aussi être rendus accessibles.
Les éléments d’un menu de navigation déroulant qui sont déclenchés par onChange ne sont pas totalement accessibles au clavier.

Le HTML dynamique et l’accessibilité

Le HTML dynamique (DHTML) est généralement une combinaison de CSS et de JavaScript. Par nature, le DHTML peut présenter dynamiquement un contenu qui change. Le DHTML est souvent déclenché par les interactions de l’utilisateur telles que le mouvement de la souris. Quand vous implémentez le DHTML, vous devez vérifier que le DHTML est déclenché d’une manière indépendante d’un périphérique et que le contenu ou la fonctionnalité donnée par le DHTML est également accessible.

Le JavaScript peut aussi être utilisé pour écrire un contenu dynamique vers une page Web. Dans la plupart des cas, le contenu est accessible à moins que le contenu ne soit constamment changé ou qu’il interfère d’une manière ou d’une autre avec l’accessibilité de la page.

Les fenêtres pop-up

Les comportements par défaut du navigateur Web et de certains éléments HTML peuvent également être affectées par le JavaScript. Les fenêtres pop-up peuvent être déclenchées par le JavaScript ou par les gestionnaires d’événements JavaScript. Si l’utilisateur n’est pas averti du fait que la fenêtre pop-up s’ouvre, il peut être désorienté par le comportement anormal du navigateur Web. La modification des fenêtres du navigateur pour supprimer les barres de défilement, l’état des barres de menus ou des barres d’outils peuvent également créer des problèmes d’accessibilité. Utilisez les fenêtres pop-up avec soins et quand elles sont utilisées, alertez toujours l’utilisateur. L’utilisateur doit également être alerté quand le JavaScript est utilisé pour effectuer automatiquement des fonctions natives du navigateur Web, tels que la réorientation, le rafraîchissement de page ou le défilement automatique. Dans tous les cas, il faut faire des tests utilisateurs et des essais avec les technologies d’assistance. Cela peut fournir des informations précieuses concernant l’accessibilité des implémentations du JavaScript.

Les alternatives au JavaScript

Il existe de nombreuses façons de fournir des alternatives au JavaScript. Les nouvelles versions de CSS permettent de recréer une grande partie des comportements JavaScript en utilisant seulement les CSS. Les menus de navigation, les barres de navigation et toutes les images interactives peuvent être développées sans dépendre du JavaScript. Cependant, la mise en œuvre des CSS dans les navigateurs et les technologies d’assistance diffèrent et peuvent poser des problèmes. Quand le JavaScript lui-même ne peut pas être nativement accessible, vous devez fournir une alternative accessible. Cela peut être fait en répliquant ou en remplaçant le comportement JavaScript par un script côté serveur. Vous pouvez également donner un contenu dans une balise <noscript> qui est accessible quand le JavaScript est désactivé ou quand il n’est pas disponible pour l’utilisateur final.

Les standards et les recommandations

Les standards et les recommandations suivantes s’appliquent au JavaScript :

La Section 508 de la loi the Rehabilitation Act §1194.22 (Etats-Unis) :

  • (l): Quand les pages utilisent les langages de script pour afficher le contenu, ou pour créer des éléments de l’interface, les informations fournies par le script doivent être identifiables avec le texte fonctionnel qui doit pouvoir être lu par les technologies d’assistance.
  • (n) Quand les formulaires électroniques sont conçus pour être remplis en ligne, ils doivent permettre aux personnes utilisant les technologies d’assistance d’accéder aux informations, aux éléments et aux fonctions nécessaires pour les remplir et les envoyer, y compris à tous les conseils et les indications.
  • (p) Quand un délai de réponse est nécessaire, l’utilisateur doit être averti et avoir suffisamment de temps pour demander plus de temps si nécessaire.

Les WCAG 1.0 du W3C :

  • 6.3 [Priorité 1] : S’assurez que les pages sont utilisables quand les scripts, les applets ou objets programmatiques sont désactivés ou non supportés. Si ce n’est pas possible, fournissez une information équivalente sur une page alternative accessible.
  • 6.4 [Priorité 2] : Pour les scripts et les applets, s’assurez que les gestionnaires d’événements sont indépendants du matériel.
  • 6.5 [Priorité 2] : S’assurez que le contenu dynamique est accessible ou fournissez une présentation ou une page alternative.
  • 7.4 [Priorité 2] : Jusqu’à ce que les agents utilisateurs fournissent la possibilité d’arrêter un rafraîchissement, ne créez pas de pages qui se rafraîchissent automatiquement de façon périodique.
  • 7.5 [Priorité 2] : Jusqu’à ce que les agents utilisateurs fournissent la possibilité de stopper l’auto-redirection, n’utilisez pas de balisages permettant la redirection automatique des pages. A la place, configurez le serveur pour effectuer les redirections.
  • 8.1 [Priorité 1 si la fonctionnalité est importante et n'est pas présenté ailleurs, sinon Priority 2.] : Rendez les éléments programmatiques comme les scripts et les applets directement accessibles ou compatibles avec des technologies d’assistance.
  • 10.1 [Priorité 2] : Jusqu’à ce que les agents utilisateurs permettent aux utilisateurs de désactiver les fenêtres « surgissantes », ne créez pas de « pop-ups » ou apparition d’autres fenêtres et ne changez pas la fenêtre courante sans en informer l’utilisateur.

WebAIM est une initiative de :
Center for Persons with Disabilities (CPD) Utah State University

Copyright 1999-2009 WebAIM

Haut de la page