Die Navigation über Seitenregionen veröffentlicht in 2012zuletzt bearbeitet in
In der Anfangszeit des Webs hatten Webentwickler die strukturelle Navigation mit unterschiedlichen Techniken zu realisieren versucht. Erst wenn Webseiten gut strukturiert sind, können Assistenztechnologien wie Screenreader gut von Inhalt zu Inhalt oder von Bereich zu Bereich innerhalb einer Webseite navigieren. Alle Techniken waren letztlich "Krücken" gewesen bis HTML 4.01 durch den HTML-Standard (WHATWG) ersetzt wurde. Mit HTML können Regionen einer Webseite bestimmt werden und Assistenztechnologien können diese ansteuern oder auflisten.
Die "klassische" strukturelle Navigation
Die strukturelle Navigation ist eine erweiterte Tastaturnavigation insbesondere für Screenreadernutzer (und mit entsprechenden Plug-Ins auch für andere Nutzer), die über die Verwendung der Tab-Taste hinausgeht. Während mit der Tab-Taste aktive Elemente wie Links und Formularelemente angesprungen werden können, kann mit der strukturellen Navigation über die Strukturmerkmale einer Webseite navigiert werden. So ist es vor allem in Screenreadern möglich, zur nächsten Überschrift oder zum nächsten Absatz mit einem Tastendruck zu springen.
Wer eine Maus nicht nutzen kann steht auf Seiten mit vielen aktiven Elementen vor einem Problem. Wenn beispielsweise ein Formular ausgefüllt werden soll und vor dem Formular etliche Links stehen, dann muss die Tab-Taste nicht selten sehr häufig betätigt werden, um den Fokus in das erste Formularfeld zu setzen. Die Web Content Accessibility Guidelines (WCAG) 2.2 bzw. Barrierefreie Informationstechnik-Verordnung – BITV 2.0 geben deshalb vor, dass Navigationsbereiche einer Webseite per Tastatur übersprungen werden sollen. Die Richtlinien lassen dabei offen, ob ein solcher Mechanismus über die strukturelle Navigation oder mit Sprunglinks erfolgen soll.
Um Navigations- oder Werkzeugleisten überspringbar zu machen gab es verschiedene Techniken:
- Der gezielte Einsatz von Überschriften vor einzelnen Inhaltsblöcken stellte meist die beste Technik dar, da zusätzlich zur Struktur mit dem Überschriftentext auch eine Bezeichnung des nachfolgenden Inhalts berücksichtigt werden konnte. Screenreader können Überschriften per Tastendruck (meist die Taste H) nacheinander ansteurn. Allerdings wird diese Technik in der Praxis nicht einheitlich umgesetzt. Die einen setzen für die strukturelle Navigation
h1
, die nächstenh2
und mancheh3
,h4
,h5
oderh6
ein. Außerdem finden sich dabei immer wieder Überschriftenhierarchien und viele andere Varianten dieser Technik. - Ist eine Seite gut strukturiert mit Überschriften, Listen oder Absätzen, so können Screenreadernutzer über die Strukturen navigieren. Eine Navigationsleiste, die aus einer HTML-Liste besteht, ist beispielsweise überspringbar – Screenreader bieten Tastenbefehle an, um zum Ende eines Elements zu springen. Alternativ zu den Listen gelingt die strukturelle Navigation auch über Grafiken, Formulare und viele andere Elemente. Obwohl es viele navigierbare Strukturmerkmale einer Webseite geben kann, ist es letztlich dem Nutzer überlassen, diese technischen Unterschiede zu begreifen und für jede Website neu zu lernen.
- Schließlich werden Sprunglinks für die Navigation innerhalb von Webseiten in Betracht gezogen. Schwierig bei diesem Konzept ist, dass die Sprunglinks meist am Anfang einer Webseite stehen und beispielsweise nicht dafür geeignet sind, eine Webseite zu "scannen". Gleichzeitig ist es die einzige Technik, die nur mit dem Browser (und ohne Screenreader) zugänglich ist.
Die Technik mit Überschriften war – früher – der übliche Weg, Navigationsbereiche überspringbar zu machen:
<div id="nav">
<h6>Navigation</h6>
<!-- ... Die Navigationseinträge ... -->
</div>
Mit dem HTML-Standard wurden sukzessive acht Elemente eingeführt, die eine landmark role besitzen. Mit diesen HTML-Elementen sollen Regionen einer Webseite ausgezeichnet werden. Die Elemente bieten insbesondere eine Semantik, sind aber in Assistenztechnologien per Tastatur ansteuerbar. Die Elemente mit "landmark roles" dienen der strukturellen Navigation.
HTML-Elemente für Seitenregionen
Inzwischen kann auf zusätzliche Überschriften zum Zweck der Navigation verzichtet werden. Der Einsatz eines nav
-Elements als Seitenregion erlaubt es Screenreadern, die Region anzuspringen oder zu überspringen:
<nav id="nav">
<!-- ... Die Navigationseinträge ... -->
</nav>
Das nav
-Elemenent besitzt die Rolle "navigation". Rollen und ihre Bedeutung werden in Accessible Rich Internet Applications (ARIA) 1.2 spezifiziert. Die Rolle wird durch das nav
-Element implizit vergeben: Browser übermitteln die Rolle an Assistenztechnologien.
Es gibt Fälle, in denen der Einsatz eines nav
-Elements erforderlich, aber technisch schwierig umzusetzen ist. Das HTML kann dann mit einem role-Attribut "repariert" werden. Der folgende Code führt zum gleichen Ergebnis wie oben:
<div id="nav" role="navigation">
<!-- ... Die Navigationseinträge ... -->
</div>
Die Rollen werden in ARIA 1.2 definiert. Die Rollen können alle durch HTML-Elemente implizit bestimmt werden, so dass die explizite Zuweisung von Rollen mit einem role
-Attribut heute nicht mehr erforderlich ist. Folgende landmark roles (mit ihren HTML-Entsprechungen) gibt es:
Rolle | HTML |
---|---|
Banner | header -Element (nur im Kontext des body -Elements) |
Complementary | aside -Element |
contentinfo | footer -Element (nur im Kontext des body -Elements) |
Form | form -Element (nur wenn ein Name vergeben wird) |
Main | main -Element |
Navigation | nav -Element |
region | section -Element (nur wenn ein Name vergeben wird) |
Search | search -Element |
Wenn ein HTML-Element eine Rolle bereits besitzt, dann ist es nicht sinnvoll, die Rolle zusätzlich mit dem role
-Attribut zuzuweisen. Nach der Aria in HTML-Spezifikation ist das meist auch nicht zulässig. Ein main
-Element als
<main id="content" role="main">
<!-- ... Hauptinhalte der Webseite ... -->
</main>
ist überflüssig. Nur bei den header
- und footer
-Elementen ist eine explizite Zuweisung der Rolle sinnvoll, etwa wenn ein footer
-Element am Ende eines Artikels in einem Screenreader ansteuerbar sein sollte.
Besonderheiten
Seitenregionen haben im Browser keine Funktionalität. Es handelt sich bei Seitenregionen um Abschnitte oder Gruppierungen. Die semantischen Informationen werden vom Browser in den Accessibility-Tree des Betriebssystems geschrieben. Assistenztechnologien wie Screenreader holen die Informationen dort ab und verarbeiten sie weiter. Die acht Seitenregionen werden in verschiedenen Screenreader-Browser-Kombinationen wie in nachstehender Tabelle identifiziert.
Beispiel | JAWS/Chrome | NVDA/Firefox | VoiceOver/Safari |
---|---|---|---|
| "Banner" + "Inhalte" + "Banner Ende" | "Banner Sprungmarke" + "Inhalte" | "Banner" + "Inhalte" |
"Ergänzung" + "Inhalte" + "Ergänzung Ende" | "Ergänzung Sprungmarke" + "Inhalte" | "Komplementär" + "Inhalte" | |
"Inhaltsangabe" + "Inhalte" + "Inhaltsangabe Ende Ende" | "Inhaltsangabe Sprungmarke" + "Inhalte" | "Inhalte" (nicht in der Navigationsreihenfolge) | |
"Inhalte" | "Inhalte" (nicht in der Navigationsreihenfolge) | "Inhalte" (nicht in der Navigationsreihenfolge) | |
"Name des Elements Formular" + "Inhalte" + "Name des Elements Formular Ende" | "Name des Elements" + "Formular" + "Inhalte" | "Inhalte" (nicht in der Navigationsreihenfolge) | |
| "Haupt Region" + "Inhalte" + "Haupt Region Ende" | "Hauptsprungmarke" + "Inhalte" | "Inhalt" + "Inhalte" |
| "Navigation Region" + "Inhalte" + "Navigation Region Ende" | "Navigation Sprungmarke" + "Inhalte" | "Navigation" + "Inhalte" |
| "Inhalte" | "Inhalte" (nicht in der Navigationsreihenfolge) | "Inhalte" (nicht in der Navigationsreihenfolge) |
| "Name des Elements Region" + "Inhalte" + "Name des Elements Region Ende" | "Name des Elements Region" + "Inhalte" | "Name des Elements" + "Bereich" |
| "Suche Region" + "Inhalte" + "Suche Region Ende" | "Suche Sprungmarke" + "Inhalte" | "Suche" + "Inhalte" |
Hinweis: Die header
- und footer
-Elemente haben die Ergebnisse in einer Testdatei geliefert. Auf anderen Seiten könnten die Elemente Kindelemente von anderen Seitenregionen sein. Dann erhalten sie keine Rolle.
Die Rollen "form" und "region"
Wenn Formulare (form
-Elemente) oder Abschnitte (section
-Elemente) als Seitenregion bereitgestellt werden sollen, dann müssen Sie einen Namen erhalten (siehe Tabelle oben). Die meisten Formulare und Abschnitte sollten nicht als Seitenregion ausgezeichnet werden, aber es kann Ausnahmen geben. Einzelne wichtige Inhalte, die ansonsten in einem Screenreader schwer zu finden sind, könnten eine solche Ausnahme bilden.
Sowohl bei form
- als auch bei section
-Elementen müssen die Seitenregionen mit aria-label
oder aria-labelledby
einen Namen erhalten, bevor sie eine Rolle als Seitenregion erhalten:
<form id="contact" aria-label="Kontaktformular">
<!-- ... Kontaktformular ... -->
</form>
Diese Vorgehensweise kann damit begründet werden, dass nicht jeder Abschnitt und nicht jedes Formular als Region einer Seite ausgezeichnet werden soll oder muss. Ein Kontaktformular könnte der Hauptinhalt (main
-Element) der Seite sein – eine zweite Seitenregion ist nicht förderlich für die Barrierefreiheit an der Stelle. Wenn aber das Kontaktformular zwischen anderen Inhalten oder in einem modalen Dialogfenster steht, kann die zusätzliche Auszeichnung sinnvoll sein.
header
und footer
Die header
- und footer
-Elemente dienen dazu, einen einführenden oder abschließenden Inhalt eines Seitenabschnitts auszuzeichnen. Das heißt, diese beiden Elemente können für das body
-Element, aber auch für andere Abschnittselemente (article
-, aside
-, nav
- und section
-Elemente) eingesetzt werden. Sie dürfen außerdem im Kontext eines main
-Elements stehen.
Nach ARIA 1.2 dürfen Browser die Rollen "banner" und "contentinfo" nur dann als Region an den Accessibility-Tree übermitteln, wenn sie im Kontext des body
-Elements stehen. Sofern die beiden Elemente im Kontext eines article
-, aside
-, main
-, nav
- oder section
-Elements stehen, dürfen Browser keine besondere Rolle zuweisen; die Elemente erhalten die Rolle "generic".
Namen für Seitenregionen
Regionen sind semantische Auszeichnungen ohne Inhaltsbezug. Wenn ein Screenreader auf eine Region mit der Rolle "navigation" trifft, wird die Region mit "Navigationsregion" o.ä. identifiziert. Ähnlich werden die anderen Regionen identifiziert (auch wenn die Bezeichnungen von Screenreader zu Screenreader variieren).
Seitenregionen sollten eindeutig beschriftet werden, wenn mehr als eine Region des gleichen Typs auf einer Seite vorkommt. Außerdem sollten sie einen inhaltlichen Bezug herstellen (wie eine Überschrift); eine Region sollte beispielsweise nicht mit "Navigation", "Sekundäre Navigation" oder "Meta-Navigation" bezeichnet werden, da sie vom Screenreader dann als "Navigation Navigationsregion" identifiziert wird. Hingegen sind Bezeichnungen wie "Sie sind hier" (für eine Brotkrumennavigation) oder "Untermenü" in Ordnung. Manchmal wird es Fälle geben, wo die gleiche Bezeichnung zweckmäßig ist und zwar dann, wenn die Inhalte der Seitenregionen identisch sind (z.B. bei der Wiederholung einer Paginierung). Letztlich kommt es darauf an, dass wenn die Seitenregionen aufgelistet werden, sie voneinander unterscheidbar sind.
Der Beitrag "Die Navigation über Seitenregionen" besteht aus folgenden einzelnen Webseiten:
- Tastenbefehle in Screenreadern
Seitenregionen erleichtern die Navigation auf Webseiten für Screenreadernutzer. Je nach Screenreader müssen unterschiedliche tastenbefehle dafür genutzt werden.
- Vorgehensweise für die Bestimmung von Seitenregionen
Seitenregionen müssen aufeinander abgestimmt sein. Manchmal benötigen Sie einen Namen.
Der folgende Begriff auf dieser Seite wird im Glossar definiert:Name