Note : le(s) test(s) suivant(s) sont issu(s) de AccessiWeb v1.1 [Déployé].
frame) ou cadres en ligne (balise iframe) ?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.
frameiframeframe) ou cadres en ligne (balise iframe) ?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.
name, celui de l'attribut title, celui de l'attribut longdesc et le fichier source correspondant.frame) et vérifier qu'il y a un maximum de 3 cadresiframe) et vérifier qu'il y a un maximum de 3 cadres en ligne.frame) et vérifier qu'il y a un maximum de 3 cadres.iframe) et vérifier qu'il y a un maximum de 3 cadres en ligne.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.
Ce critère concerne aussi bien le développeur que le graphiste. La diminution du nombre de cadres dans une page conduit le développeur à envisager une autre approche pour coder la mise en page et le graphiste à adapter cette nouvelle façon au résultat visuel qu'il veut obtenir.
Cette technique permet de subdiviser une page html en zones bien distinctes, de ce fait, le contenu de chaque zone peut être modifié et affiché indépendamment d’un cadre à l’autre.
Tout d’abord, il est nécessaire de déclarer que le site possède des cadres dans la balise DOCTYPE.
L’élément frameset permet de définir le nombre de cadres et la position de ceux-ci dans une page Web. Deux attributs sont utilisés pour leurs positionnements, ce sont les attributs rows et cols :
rows permet de faire des zones horizontales.cols permet de faire des zones verticales.Pour définir le contenu de chacune des zones, on utilise l’élément frame avec les attributs src et name, ce dernier peut être associé à l'attribut target :
target pour y accéder).Chaque fichier html doit comporter au maximum 3 cadres en ligne :
<iframe [...]></iframe>
<iframe [...]></iframe>
<iframe [...]></iframe>
L'extrait de code ci-dessous ne définit pas moins de 9 cadres avec, de surcroît, plusieurs niveaux d'imbrication.
<frameset rows="1*,449,1*" border="0" frameborder="0" framespacing="0">
<frameset cols="1*,750,1*" border="0" frameborder="0" framespacing="0" />
<frame src="tools/rien-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
<frame src="tools/haut-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
<frame src="tools/rien-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
</frameset>
<frameset cols="1*,750,1*" border="0" frameborder="0" framespacing="0">
<frame src="tools/rien-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
<frame src="index_u1l2.htm" name=ecran noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
<frame src="tools/centre_droite-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
</frameset>
<frameset cols="1*,750,1*" border="0" frameborder=0 framespacing=0>
<frame src="tools/rien-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
<frame src="tools/bas-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
<frame src="tools/bas_droite-1.html" noresize scrolling="no" marginwidth="0" marginheight="0" frameborder="0" />
</frameset>
</frameset>
Lors de la création d'un jeu de cadres, il faut s'interroger sur la réelle utilité d'un cadre et se demander s'il n'est pas possible d'en fusionner plusieurs en un seul. Il est fréquent, par exemple, de rencontrer des constructions de pages où un cadre est définit pour le seul logo du site.
L'extrait de code suivant définit un jeu de 2 cadres.
<frameset cols="33%,*" title="frameset du site exemple">
<frame name="menu" src="menu.htm" title="Colonne de gauche recevant le menu de navigation." />
<frame name="contenu" src="index.htm" title="Partie principale de la page." />
</frameset>
Un webmestre qui souhaite garder une présentation de ses pages à l’aide de cadres devra implémenter des cadres nommés par exemple : menu, contenu et navigation. Pour respecter ce critère, s'il veut faire d'autres divisions dans ses pages, il lui faudra utiliser une autre structure qui permet d’obtenir le même résultat visuel mais sans les inconvénients d'un trop grand nombre de cadres.
Les blocs avec une mise en page en «css» sont une bonne alternative à la présentation par cadres.
Exemple de code pour une alternative aux cadres :En html :
<div id="essai">
Le contenu textuel ou graphique
</div>
La css :
#essai
[Les parramètres de présentation du bloc dimension, couleur, police etc…]
Nous avons à notre disposition en "css" plusieurs éléments tels que div, ul, span, p, etc... qui permettent de faire des blocs. Ceci offre la possibilité de diviser une page Internet en respectant son accessibilité. Ainsi, cette implémentation permet d'éviter l'utilisation d'une présentation qui implique un trop grand nombre de cadres.
Il n'y a pas d'illustration pour cette fiche.