La navigation dans des pages construites à partir de cadres peut se révéler complexe pour les internautes qui prennent connaissance du contenu du site cadre après cadre (à la différence des personnes qui ont une vue d'ensemble du site). Cela concerne notamment les personnes aveugles, qui n'ont pas une vue globale de l'écran, celles qui utilisent un navigateur textuel ou celles qui naviguent sur des petits écrans.
Mais, dans la mesure où le nombre de cadre sur une page est restreint, ils peuvent constituer des points de repère utiles à la navigation s'ils sont nommés distinctement les uns des autres.
En l'absence de l'attribut title et de son contenu, les lecteurs d'écran restituent à l'utilisateur un nom par défaut à tous les cadres présents sur la page, généralement "sans_nom" ou "untitled". Un titre explicite pour chaque cadre permettra aux utilisateurs nommés ci-dessus de se faire une idée de ce que contient chaque cadre lorsqu'ils se déplacent d'un cadre à l'autre ou lorsqu'ils affichent la liste des cadres présents dans la page.
Valeur ajoutée pour le site
Bénéfice 1 :
L'adjonction de l'attribut title à chaque cadre d'une page facilite la maintenance des pages lorsque la gestion du site est confiée à une autre personne que son concepteur.
Bénéfice 2 :
Sans l'attribut title, une page avec des cadres ne peut être valide html.
Bénéfice 3 :
L'attribut title peut être une aide au référencement.
Note : de manière générale, il est conseillé de faire l'évaluation d'un critère via l'analyse de son code source. Ce procédé d'évaluation par le code source est détaillé ci-après quand il est possible : procédé d'évaluation en 3 étapes via le ou les tests associés au critère. Les procédés d'évaluation par différents outils sont donnés en complément de l'évaluation par le code source.
Par le code source
Sélectionner le(s) élément(s) à tester : Ouvrir le code source de la page Web et sélectionner le code associé à tous les éléments suivants (exemple de code source : <framesrc="fichier.html" name="nom_du_cadre" title="titre du cadre" />) :
balise frame
balise iframe
Appliquer le(s) test(s) suivant(s) :
Test 2.1.a [Bronze] : Chaque cadre (balise frame) a-t-il un attribut title ?
Test 2.1.b [Bronze] : Chaque cadre en ligne (balise iframe) a-t-il un attribut title ?
Valider le critère : le critère est validé si vous répondez oui à tous les tests applicables précédents.
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 d'outils Accessibilité du Web pour Internet Explorer (version 2.0 beta en français) :
Sous Internet Explorer, ouvrir la page à analyser.
Dans le menu "Cadres" de la Barre d'outils Accessibilité du Web (version 2.0 beta), activer l'option "Noms / Titres des cadres".
Pour chaque cadre et chaque cadre en ligne présent sur la page, sont indiqués le contenu de l'attribut name, celui de l'attribut title, celui de l'attribut longdesc et le fichier source correspondant.
Vérifier que chaque cadre (balise frame) et chaque cadre en ligne (balise iframe) a un attribut title.
Si c'est le cas, le test est validé.
Evaluer avec la Barre d'Outils Web Developper pour Firefox (version
1.1.4 en français) :
Avertissement : les informations du paragraphe "Comment mettre en oeuvre" sont données à titre indicatif. Les contenus des sous-paragraphes Implémentation et Exemple de bonne pratique ne présentent pas tous les codes d'implémentation.
Qui est concerné ?
L'implémentation de ce critère concerne le développeur.
Implémentation
Syntaxe générale :
<frame src="[...]" name="nom_du_cadre" title="nom_du_cadre : informations supplémentaires sur le cadre" />
<iframe src="[...]" name="nom_du_cadre_en_ligne" title="nom_du_cadre_en_ligne : informations supplémentaires sur le cadre" />
Remarque : attention à ne pas oublier l'attribut title de la balise frameset.
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 :
Dans cet exemple, bien que les cadres aient des noms explicites, on pourrait apporter des informations supplémentaires quant à leurs interrelations, grâce à l'attribut title.
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" scroling="auto" name="navigation" title="navigation : ce cadre contient la barre de navigation dans le site avec les liens principaux" />
<frameset cols="30%,*" border="7">
<frame src="sommaire.html" marginheight="0" marginwidth="0" scroling="auto" name="sommaire" title="sommaire : ce cadre contient les liens relatifs à une rubrique" />
<frame src="accueil.html" marginheight="0" marginwidth="0" scroling="auto" name="contenu" title="contenu : ici se trouvent les textes, images et formulaires relatifs à un lien du sommaire" />
</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, l'utilisateur sait d'emblée ce qu'il va trouver dans chacun des cadres.