Barrierefreie Frames und Iframes erstellen

[ Dies ist eine Übersetzung des englischsprachigen Artikels „Creating Accessible Frames and Iframes„. Copyright © by www.Webaim.org ]

Einleitung

Ein Frameset ist eine Website, die eine Sammlung von mindestens zwei separaten Webseiten, welche im gleichen visuellen Raum kombiniert werden, definiert. Sehende Nutzer empfinden Framesets in der Regel als eine zusammenhängende Einheit. Sie können die Inhalte von mehreren Seiten gleichzeitig erfassen.

Diejenigen, die Bildschirmlesegeräte verwenden, können die Inhalte mehrerer Seiten nicht schnell erfassen. Alle Inhalte werden in einer linearen Weise, mit jeweils nur einem Frame, dargestellt. Frames sind nicht unerreichbar für Bildschirmlesegeräte, aber sie können verwirrend sein.

Bildschirmlesegeräte lesen alle Frames eines Framesets normalerweise so, als ob sie auf die gleiche Seite gehören. Der Nutzer wird von dem Bildschirmlesegerät gewarnt, dass ein Frameset vorhanden ist. Tastenkombinationen ermöglichen es dem Leser, schnell zwischen den Frames zu wechseln.

Barrierefreie Frames

Geben Sie Frames einen Titel

Wichtig

Das wichtigste was Sie tun können, um die Barrierefreiheit von Frames zu erhöhen, ist, jedem Frame einen aussagekräftigen Attributwert für den Titel zu geben.

Wenn ein Nutzer eines Bildschirmlesegerätes eine Liste der Frames hört, ist es hilfreich, den Zweck von jedem zu kennen. Titel von Frames ermöglichen es Web-Entwicklern, den Zweck von jedem Frame den Nutzern von Bildschirmlesegeräten bekannt zu geben. Die besten Titel für Frames sind kurz und beschreibend. Entsprechende Titel für die Frames eines Zwei-Frame Framesets könnten „Navigationsframe“ und „Hauptinhalt“ sein.

Wenn die Titel der Frames nicht vorhanden sind, suchen die Nutzer von Bildschirmlesegeräten nach anderen Informationsquellen, wie z.B. den Namen des Frame-Attributes oder den Dateinamen. Manchmal sind diese anderen Informationsquellen nicht sehr hilfreich.

Verwenden Sie den richtigen Dokumententyp

Eine Seite, die Frames verwendet, sollte den richtigen Dokumententyp haben. Das Codebeispiel zeigt einen Dokumententyp für eine Frameset-Seite, die HTML 4 verwendet. Der richtige Dokumententyp Framesets lässt Bildschirmlesegeräte und andere Browser wissen, dass das Dokument aus mehreren Frames besteht. Zu beachten ist, dass Frames in HTML 5 veraltet sind, von daher sollten Frames mit dem Dokumententyp HTML 5+ vermieden werden.

Geben Sie noframes-Inhalte an

Der Inhalt der noframeswird angezeigt, wenn der Nutzer die Inhalte der Frames nicht sehen kann oder will. Der Inhalt der noframes sollte angeben, was in den Frames enthalten ist und Links zu den einzelnen Frameseiten bieten.

Barrierefreie Frames Beispielcode

Beachten Sie den richtigen Dokumententyp und den beschreibenden, aber kurzen Titel des Frames in diesem Beispielcode eines barrierefreien Frames.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<head>
<title>A page that contains frames</title>
</head>
<frameset cols="15%, 85%">
<frame src="menu.html" title="Navigation menu" name="menu">
<frame src="content1.html" title="Main content" name="content">
<noframes>
<p>This frameset document contains:</p>
<ul>
<li><a href="menu.html">Page navigation</a></li>
<li><a href="content1.html">Main content</a></li>
</ul>
</noframes>
</frameset>
</html>

Barrierefreiheit von Inline Frames (Iframes)

Inline-Frames ermöglichen die Aufnahme von unterschiedlichen Web-Dokumenten (und sogar ganzen Websites) in einem Unterfenster einer Eltern-Website, ohne den Aufwand der Definition eines Frameset-Dokumentes. Es gibt keine eindeutigen Probleme mit der Barrierefreiheit von Inline-Frames. Der Inhalt eines Inline-Frames wird, an dem Punkt an dem es angetroffen wird (basierend auf der Reihenfolge des Markups), so gelesen, als ob es Inhalte der übergeordneten Seite wären.

Einige Bildschirmlesegeräte zeigen an, dass Iframes vorhanden sind und können sogar die Navigation zusammen mit Standardframes unterstützen.

Anders als bei Frames, ist ein beschreibender Attributwert für den Titel für die Barrierefreiheit nicht erforderlich. Wenn das Inline Frame den Inhalt visuell auffällig darstellt, so wie eine Anzeige, dann sollte ein Titel geliefert werden, um den Unterschied kenntlich zu machen.

<iframe src="ad.htm" title="Advertisement">

Da viele Nutzer Schriftarten und andere Seitenelemente vergrößern, um die Sichtbarkeit und die Barrierefreiheit zu erhöhen, sollten Sie das Scrollen für Iframes (oder Frames, für diesen Fall) nicht mit scrolling="no" deaktivieren. Der Standardwert für Scrollen (auto) ist in der Regel die beste Option. Darüber hinaus sollten Sie die Iframes, sofern möglich, mit relativen Größen gestalten, sodass die Iframe-Elemente sich anhand der Seite und deren Inhalte skalieren.

Alternativen zu Frames

Wie bereits erwähnt, können Frames zu Problemen mit der Barrierefreiheit führen. Obwohl es mit Iframes weniger Probleme mit der Barrierefreiheit gibt als bei Frames, benötigen sie zusätzliche Arbeit und Verwaltung von mehreren Seiten. Frames und Iframes sollten in der Regel nicht für die Präsentation oder die Anzeige verwendet werden, sondern für Content Management (Iframes funktionieren sehr gut für Werbung und die Darstellung von externen Inhalten auf der eigenen Website). Wenn Sie eine einzelne Web-Präsentation so ähnlich wie Frames darstellen möchten, können Sie dies in der Regel mit CSS und einer Seite erreichen, anstatt sich mit der Komplexität und möglichen Problemen mit der Barrierefreiheit von Frames auseinanderzusetzen.

CSS ermöglicht sehr komplexe Layouts und Anzeigen. Sie können CSS verwenden, um Bildlauffunktionen für fast jedes Seitenelement hinzuzufügen und damit die Präsentationen und Anzeigen zu erzielen, die Frames und Iframes liefern.

Beispiel

Dieser Inhalt ist innerhalb der Seite. Der verwendete Code um diesen Inhalt anzuzeigen ist:

<div style="overflow:auto; width:400px; height:90px;">Dieser Inhalt...</div>

Dies kann durch einfaches Hinzufügen von CSS overflow:auto auf fast jedem HTML Element erreicht werden. Wenn der Überlauf auf auto gesetzt ist, erscheinen Scrollbars nur, wenn der Inhalt nicht innerhalb des festgelegten Bereiches angezeigt werden kann. So wie mit Iframes, können Sie die Anzeige der Scrollbars mit overflow:scroll erzwingen oder mit overflow:hidden deaktivieren. Wenn die Scrollbars deaktiviert sind, können manche Nutzer den Inhalt nicht sehen und haben keinen Zugriff darauf. Dies geschieht vor allem, wenn der Inhalt für die Sichtbarkeit vergrößert ist.

Die Verwendung von CSS löst darüber hinaus auch viele Probleme, die mit Verlinkungen und Navigationen innerhalb von Frames und Iframes entstehen – die Adresse in der Adresszeile ist genau, Links zu externen Seiten oder Inhalten werden nicht von ihrem Layout eingeschlossen, Lesezeichen sind einfacher zu setzen und es ist einfacher den Überblick über die besuchten Seiten zu behalten.

Scrollbare Inhalte mit CSS zu aktivieren kann jedoch zu einigen Problemen mit der Bedienbarkeit führen. Die Benutzer könnten sich nicht bewusst darüber sein, dass sie scrollen müssen und könnten aus diesem Grund, nicht den gesamten Inhalt sehen. Wenn mehrere Bildlaufleisten angezeigt werden, kann es für den Benutzer verwirrend sein, auf den Inhalt zuzugreifen. Diese Probleme zeigen sich auch bei der Verwendung von Frames und Iframes. Aus diesem Grund sollten die Vorteile von der Verwendung von CSS dazu führen, dass dies die erste Alternative für Rahmen-basierte Layouts ist.

Übersetzungen