FRAME doit contenir des éléments LONGDESC corrects  
Point de contrôle 12,2 de priorité 2 WAI / WCAG 1.0
 
 
Description du problème

La page contient des éléments FRAMESET et FRAME avec un attribut LONGDESC non correct.

 
 
Procédure de réparation

Une longue description de cadre est requise, car un attribut LONGDESC est déjà défini. Cependant, la valeur de l'attribut LONGDESC n'est pas correcte.
Un attribut LONGDESC correct doit satisfaire toutes les conditions suivantes :

  1. ne doit pas être vide (c'est-à-dire différent de "")
  2. ne doit pas contenir un ou plusieurs espaces (par exemple, " ")
  3. le fichier auquel il fait référence n'est pas vide ou ne contient pas d'espaces
  4. le fichier auquel il fait référence existe et contient du code HTML
  5. le fichier auquel il fait référence est accessible HTTP ou FTP.

Voir la section Explication pour consulter un exemple détaillé.

 
 
Explication du problème

Les cadres sont principalement utilisés pour regrouper des informations et des éléments de navigation, ainsi que pour les afficher avec une certaine mise en page. Cependant, certaines technologies d'aide (navigateurs vocaux ou en mode texte, lecteurs d'écran) ne peuvent pas profiter de la mise en page. Par conséquent, ces outils rendent chaque cadre hors contexte, sans la moindre référence aux autres cadres. La personne utilisant ces outils ne peut pas voir les autres cadres et leur contenu. C'est pourquoi il est important que chaque cadre indique une description permettant à l'utilisateur d'élaborer le contexte.

Les noms tels que "haut", "en bas à gauche" généralement attribués aux cadres ne sont pas suffisamment descriptifs et n'aident pas l'utilisateur à reconstruire le contexte.

Prenons un exemple (issu de HTML Techniques for Web Content Accessibility Guidelines 1.0 [http://www.w3.org/TR/WCAG10-HTML-TECHS/#frame-text-equivalent] et légèrement modifié) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<HTML>
  <HEAD>
    <TITLE>Today's news</TITLE>
  </HEAD>

  <FRAMESET cols="10%,*,10%">

  <FRAMESET rows="20%,*">
    <FRAME src="promo.html" name="promo" title="promotions">
    <FRAME src="sitenavbar.html" name="navbar" 
       title="Sitewide navigation bar" longdesc="frameset-desc.html#navbar">
  </FRAMESET>

  <FRAME src="story.html" name="story" title="Selected story - main content" 
     longdesc="frameset-desc.html#story">

  <FRAMESET rows="*,20%">
    <FRAME src="headlines.html" name="index" title="Index of other 
      national headlines" longdesc="frameset-desc.html#headlines">
    <FRAME src="ad.html" name="adspace" title="Advertising">
  </FRAMESET>

  <NOFRAMES>
    <p><a href="noframes.html">No frames version</a></p>
    <p><a href="frameset-desc.html">Descriptions of frames.</a></p>

  </NOFRAMES>

  </FRAMESET>
</HTML>

Voici un exemple de fichier frameset-desc.html :

#Navbar - this frame provides links to the <a href="sitenavbar.html">major 
          sections of the site</a>:  World News, National News,
          Local News, Technological News,
          and Entertainment News.

#Story  - this frame displays the <a href="story.html">currently selected story</a>.

#Index  - this frame provides links to the day's 
          <a href="headlines.html">headline stories</a> within this section.  

L'élément NOFRAMES est utile lorsque des navigateurs spéciaux ne prenant pas en charge les cadres sont utilisés (par exemple, ceux utilisés sur les assistants personnels et les téléphones portables).