Frames und ihre Beziehung untereinander beschreiben |
WAI / WCAG 1.0 Priorität 2 Checkpunkt 12.2
Problembeschreibung Die Seite enthält die Elemente FRAMESET und FRAME mit einem TITLE-Attribut. überprüfen Sie, ob das Attribut tatsächlich den Zweck des Frames beschreibt und in welcher Beziehung dieser Frame zu den anderen Frames auf der Seite steht. Fügen Sie ggf. auch ein LONGDESC-Attribut ein.
Überprüfung Stellen Sie sicher, dass das Attribut TITLE von FRAME eindeutig den Zweck des Frames und dessen Beziehung zu den anderen Frames der Seite beschreibt. Falls TITLE hierfür nicht ausreicht (beispielsweise weil Grafiken, Hyperlinks oder anderer Markup-Code erforderlich ist), können Sie mithilfe des Attributs LONGDESC auf eine HTML-Seite verweisen, die eine ausführliche Beschreibung enthält. Im Abschnitt "Erklärungen" finden Sie ein detailliertes Beispiel. Das Attribut NAME wird normalerweise für Programmierzwecke verwendet und sollte keine Leerzeichen enthalten. TITLE dagegen darf auch Leerzeichen enthalten und kann daher für beschreibenden Text verwendet werden. Im Allgemeinen können Sie ohne Weiteres beide verwenden.
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).