# Guide AccessiWeb

vous êtes ici : Accueil > Fiches AccessiWeb : Cadres > Fiche 2.4

## Fiche 2.4 : Le contenu de la balise NOFRAMES est-il pertinent ?

Sommaire de la fiche :

- Carte d'identité
- Comprendre

- Comment évaluer
- Comment mettre en oeuvre

- Illustrations
- Références

### Carte d'identité

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

revenir en haut de la page

### Comprendre

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

- Bénéfice 1 :
  Le contenu de cette balise doit permettre aux utilisateurs accédant à la page à l'aide d'un navigateur textuel désirant naviguer de manière classique, de retrouver les liens principaux du site. Ils doivent ainsi pouvoir accéder aux rubriques et fonctionnalités essentielles du site.
  Parmi elles citons la page d'aide, le plan du site, le menu principal, le moteur de recherche et tous les liens qui font l'intérêt du site.

#### Valeur ajoutée pour le site

- Bénéfice 1 :
  La présence des liens importants de la page dans la balise `NOFRAMES` permet aux moteurs de recherche d’accéder au contenu des cadres, car ils ignorent pour la plupart les balises `FRAMESET` et `FRAME`.

Remarque : une pratique relativement répandue consiste à inclure dans cette balise un catalogue de mots-clés destinés à "amadouer" les moteurs de recherche. Ceci constitue un détournement de balise déconseillé par le W3C.

revenir en haut de la page

### Comment évaluer

#### Par le code source

1. Détecter dans le code source la présence de l'élément `FRAME`.
2. Si la balise `NOFRAMES` est présente, vérifier que son contenu est pertinent.

#### 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 "2. Cadres" de la Barre AccessiWeb, activer le critère 2.4.
3. Les informations sur tous les cadres de la page s'affichent dans une nouvelle fenêtre: pour chaque cadre présent sur la page, sont indiqués le contenu de l'attribut `name`, celui de l'attribut `longdesc`, celui de l'attribut `title` et le fichier source correspondant.
4. Vérifier en bas de cette nouvelle fenêtre que la balise `NOFRAMES` est présente et que son contenu est pertinent.

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

1. Cliquer sur l'option "Nom/Titre du cadre [Nouvelle fenêtre]" du menu "Structure".
2. Une nouvelle fenêtre s'affiche. Vérifier en bas de cette nouvelle page que la balise `NOFRAMES` est présente et que son contenu est pertinent.

##### 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. Vérifier dans le code source que la balise `NOFRAMES` est présente et que son contenu est pertinent.

##### 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 s'assurer du respect de ce critère.

#### Implémentation

La balise `NOFRAMES` est positionnée dans la balise `FRAMESET` de premier niveau.
Syntaxe générale :

<frameset [...]>
<frame [...] />
<frameset [...]>
<frame [...] />
<frame [...] />
</frameset>
<noframes>
<body>
<!-- Liste des liens contenus dans le menu (menu.html)-->
<!-- Liens importants et/ou de navigations dans contenu.html -->
</body>
</noframes>
</frameset>

Elle contient les liens importants existant dans chacun des cadres de la page qui vont permettre à l'utilisateur de trouver le contenu de la page, par exemple, le lien vers le plan du site, les liens du menu...
Remarque 1 : Eviter de construire un site alternatif dans cette balise car très vite se pose le problème de la mise à jour. La balise `NOFRAMES` ne doit pas contenir non plus des instructions qui expliquent à l'utilisateur comment télécharger un navigateur qui supporte les cadres.
Remarque 2 : dans de nombreux cas, la balise `NOFRAMES` donne des informations non appropriées ou incomplètes. Par exemple, elle contient uniquement une liste de mots clés pour le référencement ou une phrase sans grande utilité, voire incompréhensible pour un non-technicien, du type "votre navigateur ne supporte pas les frames". Ceci est à éviter sous peine de décourager l'internaute.

#### Exemple de mauvaise pratique

Soit une page découpée en trois cadres de la façon suivante :

- en haut, sur toute la largeur de la page un cadre qui contiendra le logo de l'organisme, une barre de menu, avec, par exemple, les rubriques "accueil", "téléchargement", "catalogue des produits" etc... Il s'agit d'un cadre de navigation.
- A gauche, un cadre contenant le sommaire de la rubrique sélectionnée dans le premier cadre. Par exemple, si on clique sur "catalogue" dans le cadre du haut, un ensemble de sous-rubriques, correspondant aux entrées du catalogue, apparaissent dans le cadre de gauche. Il s'agit du cadre présentant le sommaire.
- A droite, sur l'espace restant disponible, du texte, des éléments graphiques, un formulaire etc.. constituent le contenu de la page.

Un mauvais codage d'une telle présentation serait par exemple :

<frameset rows="5%,95%" border="7">
<frame src="nav.html" marginheight="0" marginwidth="0" noresize scroling="none" name="navigation" />
<frameset cols="30%,*" border="7">
<frame src="sommaire.html" marginheight="0" marginwidth="0" noresize scroling="auto" name="sommaire" />
<frame src="accueil.html" marginheight="0" marginwidth="0" noresize scroling="auto" name="contenu" />
</frameset>
<noframes>
<body>
votre navigateur ne supporte pas les frames<br />
<!-- téléchargement, achat en ligne, courses en ligne, commander par Internet -->
</body>
</noframes>
</frameset>

Dans cet exemple, l'utilisateur dont le navigateur ne prend pas en charge les cadres n'a aucun moyen d'accéder au contenu du site. D'ailleurs, la phrase : "votre navigateur ne supporte pas les cadres" enfonce douleureusement le clou. De plus, il y a détournement de la balise qui comporte une série de mots destinés, selon toute probabilité, à paraître en bonne place dans les moteurs de recherche, ce qui n'est pas son rôle.

#### Exemple de bonne pratique

La bonne pratique à adopter est la suivante :

<frameset rows="5%,95%" border="7">
<frame src="nav.html" marginheight="0" marginwidth="0" noresize scroling="none" name="navigation" />
<frameset cols="30%,*" border="7">
<frame src="sommaire.html" marginheight="0" marginwidth="0" noresize scroling="auto" name="sommaire" />
<frame src="accueil.html" marginheight="0" marginwidth="0" noresize scroling="auto" name="contenu" />
</frameset>
<noframes>
<body>
<h1>Bienvenue sur notre site</h1>
<h2>rubriques principales</h2>
<a href="[...]">retour à l'accueil</a><br />
<a href="[...]">téléchargement</a><br />
<a href="[...]">catalogue</a>
</body>
</noframes>
</frameset>

Ainsi, tous les utilisateurs auront accès au site, même si leur navigateur ne prend pas en charge les cadres ou s'ils préfèrent ne pas naviguer à l'aide des cadres. Les utilisateurs disposent des liens principaux du site. Pour être tout à fait utile, il faudrait y ajouter également le lien vers le plan du site et les pages d'aide.

revenir en haut de la page

### Illustrations

Cette image est une copie d'écran qui montre une partie du navigateur Lynx. Elle contient le texte suivant "FRAME: Navigation FRAME: Sommaire FRAME: Contenu". Ce texte correspond à l'énumération des trois cadres de la page. Voici le texte qui suit et qui correspond au contenu de la balise NOFRAME: "Votre navigateur ne supporte pas les frames"

Cette image est une copie d'écran qui montre une partie du navigateur Lynx. Elle contient le texte suivant "FRAME: Navigation FRAME: Sommaire FRAME: Contenu". Ce texte correspond à l'énumération des trois cadres de la page. Voici le texte qui suit et qui correspond au contenu de la balise NOFRAME: "Bienvenu sur notre site Rubriques principales Retour à l'accueil Téléchargement Catalogue" Retour à l'accueil, Téléchargement et Catalogue sont des liens.

revenir en haut de la page

### Références

#### Autres fiches à consulter

- Fiche 2.3 : Y a t-il une balise NOFRAMES?
- Fiche 13.8 : La présentation de la page est-elle réalisée sans détourner certaines balises de leur fonction d'origine ?

#### Autres ressources

- html Techniques (section 10.3) : Writing for browsers that do not support FRAME
- Accès pour tous : Fiche technique sur les cadres : la balise `NOFRAMES`
- webaim.org : Creating accessible frames

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