# Guide AccessiWeb

vous êtes ici : Accueil > Fiches AccessiWeb : Contenus accessibles > Fiche 13.4

## Fiche 13.4 : Y a-t-il une alternative équivalente au script qui déclenche l'ouverture de nouvelles fenêtres ?

Sommaire de la fiche :

- Carte d'identité
- Comprendre

- Comment évaluer
- Comment mettre en oeuvre

- Illustrations
- Références

### Carte d'identité

- Critère AccessiWeb : 13.4
- Niveau AccessiWeb : bronze
- Point(s) de contrôle WCAG 1.0 correspondants (Priorité 2 de WAI) : 10.1

revenir en haut de la page

### Comprendre

#### Bénéfices pour les utilisateurs

- Bénéfice 1 :
  Si ce dispositif est prévu, les personnes utilisant des navigateurs qui ne gèrent pas les scripts côté client ou qui désactivent volontairement les scripts dans leur navigateur auront accès à l'information contenue dans la pop-up.

#### Valeur ajoutée pour le site

- Bénéfice 1 :
  La mise en place d'une alternative au script qui déclenche l'ouverture d'une nouvelle fenêtre permet de donner accès à l'information à une plus large audience.

revenir en haut de la page

### Comment évaluer

#### Par le code source

1. Repérer l'ensemble des mots-clés de type "open" et "window".
2. S'ils sont présents, vérifier qu'une solution équivalente au script qui ouvre une nouvelle fenêtre est proposée.

#### Par l'utilisation d'outils

Pour une liste complète des outils utilisés pour évaluer l'accessibilité des pages web, et un résumé de leurs principales fonctionnalités, reportez-vous à la page Outils d'aide à l'évaluation.

##### Evaluer avec la barre AccessiWeb (version 1.0) :

1. Sous Internet Explorer, ouvrir la page à analyser.
2. Dans le menu "13: Contenus accessibles" de la Barre AccessiWeb, activer le critère 13.4.
3. Les liens qui déclenchent l'ouverture de nouvelles fenêtres sont affichés dans la page et une nouvelle fenêtre permet d'en connaître le nombre (que cela soit par un script JavaScript ou un élément target).
4. Si présent, vérifier qu'une solution alternative est proposée pour tout script ouvrant une nouvelle fenêtre.
   Note : pour enlever les liens javascripts de la page, recharger la page en cliquant sur la touche F5.

##### Evaluer avec la barre d'accessibilité AIS pour Internet Explorer (version 1.2 en français) :

1. Dans "Structure", cliquer sur "liens javascripts nouvelle fenêtre".
2. Les liens qui déclenchent l'ouverture de nouvelles fenêtres sont indiqués dans la page. Une alerte permet d'en connaître le nombre (que cela soit par un script JavaScript ou un `target`).
3. Si présent, vérifier qu'une solution alternative est proposée pour tout script ouvrant une nouvelle fenêtre.

##### Evaluer avec la Barre d'Outils Web Developper pour Firefox (version 1.0.2 en français) :

1. Activer l'option "Voir Source" du menu "Voir Source".
2. Une nouvelle fenêtre apparaît et affiche le code source.
3. Repérer l'ensemble des mots-clés de type "open" et "window". Ce test permet de détecter la présence ou non de scripts déclenchant l'ouverture de nouvelles fenêtres.
4. Si présent, vérifier qu'une solution alternative est proposée pour tout script ouvrant une nouvelle fenêtre.

##### Evaluer avec le lecteur d'écran Jaws (version 5 et 6.2 en français) :

Ce critère n'est pas évaluable par le lecteur d'écran Jaws.

revenir en haut de la page

### Comment mettre en oeuvre

#### Qui est concerné ?

Le développeur doit veiller au respect de ce critère.

#### Implémentation

Il faut prévoir systématiquement une alternative aux scripts qui déclenchent l'ouverture de nouvelles fenêtres :

- soit par l'utilisation de la balise `NOSCRIPT` qui doit contenir un lien classique renvoyant vers le même contenu,
- soit en incluant le lien dans le script lui-même. Ainsi, même lorsque les scripts ne sont pas pris en charge par le navigateur, la destination du lien reste accessible. (Voir l'étude de cas).

#### Exemple de mauvaise pratique

La mauvaise pratique consiste à n'offrir aucune alternative aux scripts qui déclenchent l'ouverture d'une nouvelle fenêtre. En effet, les utilisateurs dont le navigateur ne gère pas les scripts, ou qui bloquent volontairement les scripts, n'auront jamais accès à l'information contenue dans ces fenêtres.

#### Exemple de bonne pratique

Voici une façon de coder proprement une ouverture de fenêtre qui permette :

- de ne pas ouvrir de nouvelle fenêtre à chaque clic,
- de respecter le critère 13.3 (prévenir l'utilisateur de l'ouverture d'une nouvelle fenêtre),
- de mettre la fenêtre en avant-plan si elle était déjà ouverte (pour les utilisateurs de navigateurs interprétant JavaScript),
- d'ouvrir quand même la fenêtre sur un navigateur n'interprétant pas les scripts clients.

<script type="text/javascript" language="javascript">
<!--
var wdw = null;
function OpenWindowByTarget(target,url,width,height,top,left)
{
var options='menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes';
wdw = window.open(url,target,"top="+top+",left="+left+",width="+width+",height="+height+","+options);
wdw.focus();
return false;
}
-->
</script>
<a href="aide.asp" onclick="return OpenWindowByTarget(this.target,this.href,500,600,0,0)" target="aide" title="Aide (nouvelle fenêtre)">Aide</a>

Cet autre exemple permet lui aussi à un lien d'ouvrir la nouvelle fenêtre sur un navigateur n'interprétant pas les scripts clients :

<a href="page.htm" onclick="window.open(this.href); return false;">

revenir en haut de la page

### Illustrations

Il n'y a pas d'illustration pour cette fiche.

revenir en haut de la page

### Références

#### Autres fiches à consulter

- Fiche 7.1 : Si un script nécessite une alternative pour être accessible, l'information donnée par cette alternative est-elle équivalente à l'information fournie par le script ?
- Fiche 13.3 : Le visiteur est-il averti lorsque de nouvelles fenêtres apparaissent ?

#### Autres ressources

- html Techniques (section 12.1) : Graceful transformation of scripts
- Créer des pop-up intelligentes

revenir au sommaire de la fiche

revenir en haut de la page

Guide AccessiWeb (version 2.1, 30 août 2006) | Conditions d'utilisation | Contact