FRAME brauchen gültige LONGDESC  
WAI / WCAG 1.0 Priorität 2 Checkpunkt 12.2
 
 
Problembeschreibung

Die Seite enthält die Elemente FRAMESET und FRAME mit einem ungültigen LONGDESC-Attribut.

 
 
Problemlösung

Anscheinend wird eine Langbeschreibung eines Frames erwartet, da bereits ein LONGDESC-Attribut definiert wurde. Allerdings ist der Wert des LONGDESC-Attributs ungültig.
Ein gültiges LONGDESC-Attribut erfüllt die folgenden Bedingungen:

  1. Das Attribut ist nicht leer (d. h. es ist nicht "").
  2. Das Attribut enthält nicht nur Leerzeichen (d. h. es ist nicht " ").
  3. Die Datei, auf die das Attribut verweist, ist nicht leer bzw. enthält nicht nur Leerzeichen.
  4. Die Datei, auf die das Attribut verweist, ist vorhanden und enthält HTML-Code.
  5. Auf die Datei, auf die das Attribut verweist, kann mithilfe von HTTP oder FTP zugegriffen werden.

Im Abschnitt "Erklärungen" finden Sie ein detailliertes Beispiel.

 
 
Problemerklärung

In erster Linie werden Frames zum Zusammenfassen von Informationen und Navigationselementen bzw. zur Darstellung dieser Elemente im Layout der Seite verwendet. Einige assistive Techniken (wie lesende Browser, Bildschirmlesegeräte und Text-Browser) können das visuelle Layout aber nicht nachvollziehen. Diese Techniken betrachten daher jeden Frame einzeln und außerhalb des Kontextes und stellen keinen Bezug zu den anderen Frames her. Die Benutzer dieser Techniken können die anderen Frames und ihre Inhalte nicht erkennen. Aus diesem Grund sollte jeder Frame eine Beschreibung enthalten, aus welcher der Benutzer den Kontext nachvollziehen kann.

Für Frames normalerweise verwendete Bezeichnungen wie "oben" oder "links unten" reichen hier zur Beschreibung nicht aus und stellen den Kontext für den Benutzer nicht her.

Beachten Sie das folgende Beispiel (das HTML Techniques for Web Content Accessibility Guidelines 1.0 [http://www.w3.org/TR/WCAG10-HTML-TECHS/#frame-text-equivalent] entnommen und ein wenig verändert wurde):

<!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>

Die Datei frameset-desc.html könnte wie folgt aussehen:

#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.  

Eine sehr sinnvolle Rolle spielt hierbei das Element NOFRAMES, das die Verwendung spezieller Browser berücksichtigt, die keine Frames unterstützen (wie z. B. auf PDAs und Mobiltelefonen).