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

Les autres problématiques de l’accessibilité du Javascript

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 : Other Issues. 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.

Le HTML dynamique et l’accessibilité

Le HTML dynamique (DHTML) est généralement une combinaison de CSS et de JavaScript. Le DHTML permet aux développeurs d’afficher, de masquer ou de déplacer des informations basées sur des entrées de l’utilisateur ou des commandes pré-programmées. Beaucoup d’exemples de cette section ont utilisé le DHTML. La plupart des menus déroulants trouvés sur des pages Web utilisent aussi le DHTML. Parce que la plupart de ces éléments DHTML sont modifiés sur la base des entrées souris, ils sont généralement inaccessibles aux utilisateurs qui n’utilisent pas de souris. Quand on utilise le DHTML, deux points doivent être évalués pour déterminer son impact sur l’accessibilité :

  1. Est-ce que l’événement utilisé pour déclencher un changement est indépendant des périphériques ? Si la souris est nécessaire, alors ce n’est pas pleinement accessible.
  2. Est-ce que le contenu ou la fonctionnalité DHTML est accessible ? Si les technologies d’assistance ne peuvent pas accéder de manière adéquate au contenu ou à la fonctionnalité DHTML déclenchée, alors ce n’est pas pleinement accessible.

Utiliser document.write

Des informations dynamiques et en évolution constante sont écrites ci-après dans la page en utilisant la commande JavaScript document.write. Dans la plupart des cas, le contenu qui est écrit dans une page par du JavaScript est accessible aux technologies d’assistance. Cependant, si le contenu dynamique est en constante évolution ou interfére avec la navigation ou une fonctionnalité du navigateur, cela peut créer des problèmes d’accessibilité.

Exemple avec document.write

Le temps actuel est affiché dans le champ texte ci-dessous. Il se met à jour et change toutes les secondes.

Problèmes

Dans cet exemple, puisque le contenu change et se rafraîchit de manière permanente, un lecteur d’écran ne sera pas capable de le lire et cela peut créer de la confusion.

Solutions

Quand vous utilisez de l’information dynamique, vous devez d’abord vous demander si elle est nécessaire et indispensable à la fonction ou le contenu de la page. Si oui, il y a souvent un moyen de donner le contenu sans utiliser de JavaScript inaccessible. Par exemple, vous pouvez écrire l’heure actuelle dans la page quand elle est chargée en utilisant un script côté serveur. Bien que l’heure ne soit pas mise à jour de manière constante, cela peut suffir. Vous pouvez aussi permettre à l’utilisateur de sélectionner un lien ou un bouton pour aller vers une autre page qui affiche l’heure actuelle par un traitement côté serveur. Une autre approche qui utilise une mise en œuvre de JavaScript plus accessible serait de donner un lien ou un bouton qui permet à l’utilisateur d’afficher l’heure à sa demande.

<input type= »button »
value= »Display the current time »
onclick= »alert(‘Heure actuelle est : ‘ + timeValue); » />

Fenêtres pop-up

Les fenêtres pop-up sont un cas unique dans la thématique accessibilité. Tout d’abord, la plupart des experts d’ergonomie sont contre l’usage des fenêtres pop-up, sauf dans les cas obligatoires. Si vous devez utiliser des fenêtres pop-up, vous devez savoir qu’elles créent plusieurs problèmes d’accessibilité. Pour un utilisateur voyant, il peut lui être difficile de les remarquer et de naviguer à l’intérieur. Pour quelqu’un qui utilise les technologies d’assistance, la nouvelle fenêtre peut être ennuyeuse et créer de la confusion car le comportement par défaut du lien a été modifié. L’implémentation du JavaScript peut rendre difficile, voire impossible, de la redimensionner, ce qui est très gênant pour une personne qui utilise un agrandisseur d’écran. Pour quelqu’un qui est aveugle, il n’y a généralement pas d’indication qu’il est entrain de naviguer dans une nouvelle fenêtre. Quand l’utilisateur tente de revenir à la page précédente en cliquant sur le bouton retour, il peut être déroutant de constater que cela ne fonctionne pas.

Exemple de pop-up

Sélectionner ce lien pour ouvrir une nouvelle fenêtre

<a href= »popup.htm »
onclick= »window.open(this.href); return false; »>Sélectionner ce lien pour ouvrir une nouvelle fenêtre</a>

Remarque

Si vous utilisez un logiciel pour bloquer les fenêtres pop-up, vous devez le désactiver ou choisir le lien d’une manière qui contourne le blocage des pop-up (généralement Ctrl + click ou Ctrl + Entrée avec le lien sélectionné).

Dans l’exemple de code ci-dessus, le lien continuera à fonctionner normalement (par exemple, dans la même fenêtre du navigateur) si le Javascript est désactivé.

Lors de l’utilisation de JavaScript pour ouvrir des nouvelles fenêtres, vous pouvez modifier la taille et la position de la nouvelle fenêtre. Vous pouvez également ajouter ou supprimer des fonctionnalités de la fenêtre, comme la possibilité de redimensionner, d’afficher les barres de défilement, d’afficher les barres d’outils, etc. Soyez très attentif lors de la modification du comportement par défaut de la fenêtre du navigateur. Si un utilisateur avec une basse vision doit élargir le contenu, une petite fenêtre qui ne peut pas être élargie et qui ne peut pas afficher les barres de défilement serait très inaccessible. Une personne avec un handicap moteur peut s’appuyer sur de grandes barres d’outils pour contrôler avec précision le navigateur Web. par conséquent, les supprimer ou les modifier peut créer des difficultés pour cet utilisateur.

Comme vous pouvez le voir, il y a beaucoup de difficultés à la fois pour l’ergonomie et l’accessibilité qui se posent à travers l’utilisation de fenêtres pop-up. Des précautions doivent être prises lors de la décision de les utiliser. Si elles sont utilisées, des tests utilisateurs approfondis sont essentiels pour assurer l’accessibilité. Toujours avertir l’utilisateur sur le fait qu’une fenêtre pop-up s’ouvre.

Redirection et rafraîchissement des fenêtres des navigateurs

Quand la page du navigateur affiche soudainement des changements ou des rafraîchissements, la personne qui consulte cette page peut être désorientée ou avoir de la confusion, surtout si cette personne utilise une technologie d’assistance. C’est ce qui arrive avec les redirections de pages quand le contenu de la page a été déplacé ou mis à jour. L’article 508 demande que les utilisateurs gardent le contrôle sur les changements de contenu dans le temps. Ne changez pas automatiquement ou n’actualisez pas la fenêtre du navigateur sans avoir d’abord alerter l’utilisateur que le changement va se produire et en lui donnant la possibilité de désactiver ou de retarder le changement.

Utiliser des CSS valides comme alternative au JavaScript

Comme mentionné précédemment, les CSS sont souvent modifiées par du JavaScript pour créer des pages DHTML changeant dynamiquement. Cependant, avec l’arrivée de la version 2 des CSS, une grande partie des fonctionnalités dynamiques disponibles avec le JavaScript est maintenant inclus dans les spécifications CSS. Ceci permet la construction d’une navigation interactive et dynamique et l’agencement d’éléments sans l’utilisation d’événements JavaScript. Vous pouvez créer des menus déroulants, des images interactives et d’autres fonctionnalités dans les sites Web sans vous soucier des gestionnaires d’événements dépendants de périphériques. Cependant, les nouvelles normes CSS ne sont pas entièrement prises en charge par les navigateurs modernes, à savoir Internet Explorer.

Les lecteurs d’écran n’ont pas non plus de grand support CSS, en particulier avec un contenu qui peut être rendu visible ou invisible en utilisant les styles display:none ou visibility:hidden. Beaucoup de lecteurs d’écran ne lisent pas le contenu ayant ces styles, même si le contenu fait toujours partie de la structure sous-jacente de la page. Tant qu’il n’y aura pas de meilleurs support CSS dans les navigateurs Web et les technologies d’assistance, utiliser les CSS seules pour produire du contenu dynamique ne devrait être fait qu’avec beaucoup de tests dans plusieurs navigateurs et lecteurs d’écran différents.

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

Copyright 1999-2009 WebAIM

Haut de la page