WCAG-Erfolgskriterien · Level A

WCAG 2.4.1: Blöcke überspringen

WCAG 2.4.1 verlangt, dass Webseiten eine Möglichkeit bieten, wiederholte Inhaltsblöcke, wie Navigationsmenüs, zu überspringen, damit Tastatur- und Assistenztechnologie-Nutzende den Hauptinhalt erreichen können, ohne sich durch jeden einzelnen Link durchtabben zu müssen. Dies ist eine Anforderung der Stufe A, was bedeutet, dass sie die Grundlage für eine barrierefreie Tastaturnavigation bildet.

Was diese Regel bedeutet

WCAG 2.4.1 Bypass Blocks besagt: „Es ist ein Mechanismus verfügbar, um Blöcke von Inhalten zu umgehen, die auf mehreren Webseiten wiederholt werden.“ Praktisch bedeutet dies, dass jede Sammlung von Links, Navigationsmenüs, Bannern oder anderen Inhaltsblöcken, die auf mehreren Seiten konsistent erscheint, eine Möglichkeit bieten muss, dass Nutzer sie überspringen und direkt zum einzigartigen Inhalt der aktuellen Seite springen können.

Die am weitesten verbreitete Umsetzung ist ein Skip-Navigationslink – ein Ankerelement, das als allererstes fokussierbares Element auf der Seite platziert wird und über einen Fragmentbezeichner wie #main-content auf den Hauptinhaltsbereich verweist. WCAG akzeptiert jedoch auch andere Umgehungsmechanismen, einschließlich korrekt strukturierter Landmark-Bereiche (wie HTML5-Elemente <main>, <nav> und <header> oder deren ARIA-Äquivalente) sowie Überschriftenstrukturen, die es Screenreader-Nutzern ermöglichen, zwischen Abschnitten zu springen.

Eine Seite besteht dieses Kriterium, wenn mindestens eine der folgenden Bedingungen erfüllt ist: Ein Skip-Link ist vorhanden und funktionsfähig; die Seite verwendet sinnvolle HTML5-Landmark-Elemente, die von unterstützenden Technologien für die Schnellnavigation bereitgestellt werden; oder eine gleichwertige Tastenkombination oder ein Navigationsmechanismus innerhalb der Seite ermöglicht es Nutzern, wiederholte Blöcke zu umgehen. Der Skip-Link darf standardmäßig visuell verborgen sein, muss aber bei Tastaturfokus sichtbar werden und den Tastaturfokus beim Aktivieren tatsächlich auf das Ziel verschieben – nicht nur den Viewport scrollen.

Eine Seite verfehlt dieses Kriterium, wenn: es keinen Skip-Link, keine Landmark-Struktur und keinen anderen Mechanismus gibt; ein Skip-Link existiert, aber dauerhaft über display:none oder visibility:hidden verborgen ist (wodurch er nicht fokussierbar ist); das Ziel des Skip-Links im DOM nicht existiert; oder der Link zwar vorhanden ist, aber den Fokus nicht verschiebt, sodass Tastaturnutzer weiterhin gezwungen sind, jedes Navigationselement zu durchlaufen. WCAG erkennt eine Ausnahme für Seiten an, auf denen es keinen wiederholten Block gibt – etwa ein einseitiges Dokument ohne Navigationskopf –, aber diese Ausnahme ist eng gefasst und findet in realen Websites selten Anwendung.

Warum das wichtig ist

Dieses Kriterium betrifft direkt mehrere Nutzergruppen. Nur-Tastatur-Nutzer – einschließlich Menschen mit motorischen Beeinträchtigungen wie RSI, Lähmung oder Tremor – navigieren ausschließlich, indem sie mit Tab zwischen interaktiven Elementen wechseln. Ohne Umgehungsmechanismus müssen sie auf jeder einzelnen Seite, die sie besuchen, Dutzende Male Tab drücken, nur um das erste Stück einzigartigen Inhalts zu erreichen. Eine typische Website-Navigationsleiste mit 10 bis 20 Links, multipliziert mit Hunderten von Seitenaufrufen, wird zu einer erheblichen körperlichen und zeitlichen Belastung.

Screenreader-Nutzer, die blind sind oder eine Sehbehinderung haben, verlassen sich auf Landmark-Bereiche und Überschriften, um sich zu orientieren und zwischen Abschnitten einer Seite zu springen. Während moderne Screenreader (JAWS, NVDA, VoiceOver) eigene Tastenkürzel für die Navigation zwischen Landmarks und Überschriften anbieten, funktionieren diese Kürzel nur, wenn die Seite korrekt strukturiert ist. Eine Seite ohne Landmarks und ohne Skip-Link erzwingt ein lineares Lesen jedes Elements von oben, einschließlich der wiederholten Navigation, jedes Mal, wenn die Seite geladen wird.

Betrachten wir ein Szenario aus der Praxis: Eine sehbehinderte Bürgerin in der Türkei besucht ein E-Government-Portal, um eine Steuererklärung einzureichen. Das Portal hat eine obere Navigationsleiste mit 18 Links, eine Breadcrumb-Navigation mit 4 Links und eine sekundäre Seitenleiste mit 12 Links – insgesamt 34 Tab-Tastendrücke, bevor sie die Formularfelder erreicht. Ohne Umgehungsmechanismus muss diese Nutzerin auf jeder Seite des mehrstufigen Prozesses alle 34 Elemente durchlaufen. Ein korrekt implementierter Skip-Link reduziert dies auf einen einzigen Tastendruck.

Kognitive Barrierefreiheit ist ebenfalls ein Faktor: Nutzer mit aufmerksamkeitsspezifischen Beeinträchtigungen profitieren davon, direkt zum relevanten Inhalt springen zu können, ohne wiederholte, ablenkende Navigationselemente verarbeiten zu müssen. Über den Zugang für Menschen mit Behinderungen hinaus verbessern gut strukturierte Landmark-Bereiche auch die SEO, da Suchmaschinen-Crawler die Dokumentstruktur nutzen, um Inhaltshierarchie und Relevanz zu verstehen. Eine barrierefreie Navigationsarchitektur und eine klare Landmark-Struktur tragen zu besserem Indexieren und potenziell höheren Suchrankings bei.

Verwandte Axe-core-Regeln

  • bypass: Diese Regel prüft, ob die Seite einen Mechanismus bereitstellt, um wiederholte Navigationsblöcke zu umgehen. Axe untersucht die Seite auf das Vorhandensein eines Skip-Links, der auf einen existierenden Anker innerhalb der Seite verweist, auf das Vorhandensein von ARIA-Landmark-Rollen (role='main', role='navigation' usw.) oder HTML5-Landmark-Elementen (<main>, <nav>, <header>, <footer>, <aside>) sowie auf ARIA-Attribute aria-label oder aria-labelledby, die mehrere Landmarks unterscheidbar machen. Die Regel meldet einen Verstoß, wenn keiner dieser Mechanismen vorhanden ist. Beachten Sie, dass diese Regel in einigen Fällen eine manuelle Überprüfung erfordert – zum Beispiel kann axe erkennen, dass ein Skip-Link existiert, aber nicht automatisch bestätigen, dass er beim Aktivieren den Tastaturfokus an die richtige Stelle verschiebt.
  • skip-link: Diese Regel zielt speziell auf Skip-Links ab und prüft, ob das Zielelement, auf das durch das href-Attribut eines Skip-Links verwiesen wird (z. B. #main-content), tatsächlich im DOM existiert und per Tastaturfokus erreichbar ist. Wenn ein Skip-Link auf eine nicht existierende ID verweist oder wenn das Zielelement nicht fokussierbar ist (kein tabindex-Attribut, wenn es sich um ein nicht interaktives Element handelt), meldet die Regel einen Verstoß. Dies erfasst den häufigen Fehler, einen Skip-Link im HTML hinzuzufügen, aber das entsprechende id-Attribut am Hauptelement des Inhalts zu vergessen.
  • tabindex: Diese Regel meldet Elemente mit tabindex-Werten größer als 0, die eine benutzerdefinierte Tab-Reihenfolge erzeugen, die von der natürlichen DOM-Reihenfolge abweicht. Während tabindex='0' legitim und notwendig ist, um nicht interaktive Elemente fokussierbar zu machen (z. B. ein Skip-Link-Ziel <div>), stört die Verwendung von tabindex='1', tabindex='2' usw. die erwartete Tab-Sequenz auf der gesamten Seite, was Umgehungsmechanismen unvorhersehbar oder unwirksam machen kann. Automatisierte Tools können das Vorhandensein positiver tabindex-Werte erkennen, aber ein menschlicher Tester muss überprüfen, ob die resultierende Tab-Reihenfolge logisch ist und ob der Skip-Link das erste fokussierbare Element in der Sequenz bleibt.

Wie man testet

  1. Automatischer Scan: Führen Sie axe DevTools (Browser-Erweiterung) oder Lighthouse (Chrome DevTools > Lighthouse > Accessibility) auf der Seite aus. Achten Sie speziell auf Verstöße gegen die Regeln bypass, skip-link und tabindex. Filtern Sie in axe DevTools die Ergebnisse nach diesen Regel-IDs. Überprüfen Sie in Lighthouse den Abschnitt „Navigation“ des Accessibility-Audits. Notieren Sie alle Einträge mit „Needs Review“ – axe kennzeichnet einige Bypass-Prüfungen als manuell zu bestätigend.
  2. Tastaturtest (alle Browser): Öffnen Sie die Seite in einem Browser ohne aktiven Screenreader. Drücken Sie einmal Tab. Bestätigen Sie, dass das allererste fokussierte Element ein Skip-Link ist (er kann an dieser Stelle visuell erscheinen, wenn er zuvor außerhalb des sichtbaren Bereichs war). Drücken Sie Enter, um den Skip-Link zu aktivieren. Bestätigen Sie, dass der Tastaturfokus in den Hauptinhaltsbereich verschoben wurde – der nächste Tab-Druck sollte das erste interaktive Element innerhalb des Hauptinhalts erreichen, nicht den ersten Navigationslink. Wenn sich der Fokus nicht verschiebt, ist der Skip-Link defekt.
  3. NVDA + Firefox: Starten Sie NVDA und öffnen Sie die Seite in Firefox. Drücken Sie die Tastenkombination Einfügen+F7, um die Elementliste zu öffnen und nach Landmarks zu suchen. Alternativ drücken Sie D, um zwischen Landmark-Bereichen zu springen, und bestätigen Sie, dass ein main-Landmark vorhanden und eindeutig beschriftet ist. Drücken Sie H, um per Überschrift zu navigieren, und überprüfen Sie, ob die Überschriftenstruktur die Seitenabschnitte erkennbar macht. Navigieren Sie mit Tab zum Skip-Link und aktivieren Sie ihn mit Enter, dann bestätigen Sie, dass NVDA Inhalte aus dem Hauptbereich ankündigt.
  4. VoiceOver + Safari (macOS/iOS): Aktivieren Sie VoiceOver (Befehl+F5 auf dem Mac). Verwenden Sie den Rotor (Control+Option+U), um das Landmarks-Menü zu öffnen, und überprüfen Sie, ob benannte Landmark-Bereiche erscheinen. Navigieren Sie mit Tab zum Skip-Link und drücken Sie Enter; bestätigen Sie, dass VoiceOver unmittelbar nach der Aktivierung Inhalte aus dem Hauptinhaltsbereich vorliest. Verwenden Sie auf iOS die Rotor-Geste, um zu Landmarks zu wechseln, und wischen Sie durch diese.
  5. JAWS + Chrome: Drücken Sie mit aktivem JAWS Q, um direkt zum Hauptinhalts-Landmark zu springen. Verifizieren Sie, dass JAWS das Betreten des Hauptbereichs ankündigt. Verwenden Sie Einfügen+F3, um Landmarks aufzulisten, und bestätigen Sie passende Beschriftungen. Navigieren Sie mit Tab vom Seitenanfang und vergewissern Sie sich, dass der Skip-Link zuerst angekündigt wird, mit einem zugänglichen Namen wie „Skip to main content“.
  6. Überprüfung des Fokusziels: Untersuchen Sie den href-Wert des Skip-Links (z. B. #main-content). Verwenden Sie die Entwicklertools Ihres Browsers, um zu bestätigen, dass ein Element mit id='main-content' im DOM existiert. Wenn dieses Element ein <div> oder ein anderer nicht interaktiver Container ist, bestätigen Sie, dass es tabindex='-1' hat, damit es programmatisch fokussierbar ist, ohne in die Tab-Reihenfolge aufgenommen zu werden.

Wie man es behebt

Fehlender Skip-Link — Falsch

<!-- Navigation erscheint zuerst ohne Umgehungsmechanismus -->
<div class='nav-wrapper'>
  <a href='/home'>Home</a>
  <a href='/about'>About</a>
  <a href='/services'>Services</a>
  <a href='/contact'>Contact</a>
</div>
<div class='content'>
  <h1>Welcome</h1>
  <p>Page content here.</p>
</div>

Fehlender Skip-Link — Richtig

<!-- Skip-Link ist das erste fokussierbare Element; visuell verborgen, bis er fokussiert wird -->
<a href='#main-content' class='skip-link'>Skip to main content</a>

<nav aria-label='Primary navigation'>
  <a href='/home'>Home</a>
  <a href='/about'>About</a>
  <a href='/services'>Services</a>
  <a href='/contact'>Contact</a>
</nav>

<!-- tabindex='-1' ermöglicht es dem div, programmatischen Fokus zu erhalten,
     ohne in die natürliche Tab-Reihenfolge aufgenommen zu werden -->
<main id='main-content' tabindex='-1'>
  <h1>Welcome</h1>
  <p>Page content here.</p>
</main>

Skip-Link mit nicht vorhandenem Ziel — Falsch

<!-- Der Skip-Link existiert, verweist aber auf eine ID, die nicht im DOM vorhanden ist -->
<a href='#content' class='skip-link'>Skip to main content</a>

<nav>...navigation links...</nav>

<!-- Die ID hier ist 'main', nicht 'content' — das Ziel des Skip-Links ist defekt -->
<div id='main'>
  <h1>Page Title</h1>
</div>

Skip-Link mit nicht vorhandenem Ziel — Richtig

<!-- href-Wert entspricht exakt der ID des Zielelements -->
<a href='#main-content' class='skip-link'>Skip to main content</a>

<nav>...navigation links...</nav>

<!-- id entspricht dem href-Fragment; tabindex='-1' stellt sicher, dass Fokus empfangen wird -->
<main id='main-content' tabindex='-1'>
  <h1>Page Title</h1>
</main>

Skip-Link dauerhaft verborgen — Falsch

<!-- display:none entfernt das Element vollständig aus dem Accessibility-Tree -->
<a href='#main-content' style='display:none'>Skip to main content</a>

<!-- visibility:hidden verbirgt es ebenfalls vor Screenreadern und Tastatur -->
<a href='#main-content' style='visibility:hidden'>Skip to main content</a>

Skip-Link dauerhaft verborgen — Richtig

<!-- CSS verschiebt den Link visuell außerhalb des Bildschirms, belässt ihn aber in der Tab-Reihenfolge.
     Bei :focus wird er sichtbar, damit sehende Tastaturnutzer ihn sehen können. -->
<style>
  .skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  .skip-link:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
  }
</style>

<a href='#main-content' class='skip-link'>Skip to main content</a>

Keine Landmark-Struktur — Falsch

<!-- Generische divs ohne semantische Rolle — Screenreader können Bereiche nicht identifizieren -->
<div class='header'>...logo and nav...</div>
<div class='sidebar'>...secondary links...</div>
<div class='page-body'>...main content...</div>
<div class='footer'>...footer links...</div>

Keine Landmark-Struktur — Richtig

<!-- HTML5-Semantik-Elemente stellen unterstützenden Technologien Landmark-Rollen bereit.
     Mehrere nav-Elemente werden mit aria-label unterschieden. -->
<header>
  <nav aria-label='Primary navigation'>...main nav links...</nav>
</header>
<aside aria-label='Related resources'>...secondary links...</aside>
<main id='main-content' tabindex='-1'>...main content...</main>
<footer>
  <nav aria-label='Footer navigation'>...footer links...</nav>
</footer>

Häufige Fehler

  • Den Skip-Link mit display:none oder visibility:hidden zu verbergen, anstatt eine Offscreen-CSS-Technik zu verwenden, wodurch er sowohl aus der visuellen Darstellung als auch aus dem Accessibility-Tree entfernt wird und für alle Nutzer vollständig funktionslos ist.
  • Einen Skip-Link mit href='#main-content' hinzuzufügen, aber das passende id='main-content'-Attribut am Zielelement wegzulassen, sodass der Link beim Aktivieren nichts bewirkt.
  • Den Skip-Link auf ein nicht interaktives Containerelement (wie ein <div> oder <section>) zeigen zu lassen, ohne tabindex='-1' hinzuzufügen, was bedeutet, dass Browser zwar den Viewport scrollen, den Tastaturfokus aber nicht auf das Ziel verschieben.
  • Den Skip-Link an einer anderen Stelle als dem allerersten fokussierbaren Element im DOM zu platzieren – zum Beispiel nach dem Logo oder nach dem ersten Navigationslink –, was seinen Zweck zunichtemacht, da Nutzer trotzdem Inhalte mit Tab passieren müssen, um ihn zu erreichen.
  • Positive tabindex-Werte (z. B. tabindex='1') irgendwo auf der Seite zu verwenden, was die Tab-Reihenfolge auf unvorhersehbare Weise reorganisiert und den Skip-Link möglicherweise von seiner erwarteten ersten Position entfernt.
  • Nur ein einziges unbenanntes <nav>-Landmark zu verwenden, obwohl die Seite mehrere Navigationsbereiche hat (Hauptnavigation, Breadcrumbs, Footer-Navigation), sodass Screenreader-Nutzer diese mit Landmark-Kürzeln nicht voneinander unterscheiden können.
  • Sich ausschließlich auf die Landmark-Struktur zu verlassen, ohne einen Skip-Link bereitzustellen, in der Annahme, dass alle Screenreader-Nutzer Landmark-Kürzel kennen und verwenden – sehende Tastaturnutzer, die keine Screenreader verwenden, profitieren nicht von Landmarks allein und sind auf einen sichtbaren Skip-Link angewiesen.
  • Den gesamten Seitenkörper in ein einziges <main>-Element zu hüllen, das Navigation, Header und Footer einschließt, anstatt <main> auf den einzigartigen Inhalt der Seite zu beschränken.
  • role='navigation' auf einem <div> mit Navigation zu verwenden, ohne ein aria-label bereitzustellen, wenn mehrere Navigations-Landmarks existieren, sodass Screenreader nur „navigation“ ankündigen, ohne Bereiche unterscheiden zu können.
  • Den Skip-Link in einem statischen HTML-Prototyp korrekt zu implementieren, ihn aber während des Renderns durch ein JavaScript-Framework (z. B. React, Angular, Vue) zu verlieren, weil die Skip-Link-Komponente nicht im Root-Layout enthalten ist oder während der Client-seitigen Hydration bedingt entfernt wird.

Bezug zu den Barrierefreiheitsvorschriften der Türkei

Die türkische Präsidialverfügung 2025/10, veröffentlicht im Amtsblatt Nr. 32933 am 21. Juni 2025, legt verbindliche Anforderungen an die Barrierefreiheit von Web- und mobilen Angeboten fest, die auf den Konformitätsstandards WCAG 2.1 Level AA und WCAG 2.2 Level A basieren. WCAG 2.4.1 Bypass Blocks ist ein Level-A-Kriterium und gehört damit zu den grundlegendsten Anforderungen der Verfügung – es stellt die Basis dar, unter die die digitalen Dienste keiner erfassten Stelle fallen dürfen.

Die Verfügung umfasst ein breites Spektrum öffentlicher und privater Stellen. Öffentliche Institutionen – einschließlich Ministerien, Gemeinden, staatlicher Behörden und regierungsnaher Einrichtungen – müssen innerhalb von einem Jahr nach Inkrafttreten der Verfügung vollständige Konformität erreichen. Private Stellen, die der Regulierung unterliegen, haben ein zweijähriges Umsetzungsfenster. Zu den erfassten privaten Kategorien gehören E-Commerce-Plattformen, Banken und Finanzinstitute, Krankenhäuser und Gesundheitsdienstleister, Telekommunikationsanbieter mit 200.000 oder mehr Abonnenten, Reisebüros, private Transportunternehmen und Privatschulen, die vom Bildungsministerium (MoNE) autorisiert sind.

Für diese Stellen bedeutet ein Versäumnis bei der Umsetzung von WCAG 2.4.1, dass ihre Websites auf der grundlegendsten Ebene des Standards nicht konform sind. Ein Regierungsportal, eine Online-Banking-Plattform, ein Krankenhaus-Terminvergabesystem oder ein E-Commerce-Checkout-Prozess, dem ein funktionaler Skip-Navigationsmechanismus fehlt, verstößt direkt gegen die Anforderungen der Verfügung. Angesichts der Tatsache, dass Tastaturnavigation für Nutzer mit motorischen Behinderungen grundlegend ist und die Nutzbarkeit von Screenreadern stark von der Landmark-Struktur abhängt, hat dieses Kriterium in Barrierefreiheitsaudits und regulatorischen Bewertungen erhebliches Gewicht.

Organisationen, die interne Barrierefreiheitsaudits durchführen oder externe Bewertungen zur Vorbereitung auf die Konformität beauftragen, sollten WCAG 2.4.1 als Erstprüfpunkt behandeln – als eine der am einfachsten umzusetzenden Maßnahmen und eine der wirkungsvollsten für Nutzer, die auf Tastatur- und Assistive-Technologie-Zugriff angewiesen sind. Wird dieses Kriterium nicht adressiert, kann es in behördlichen Prüfungen ausdrücklich als grundlegende Nichtkonformität angeführt werden und potenziell den Gesamtstatus der Organisation im Rahmen der Verfügung beeinträchtigen.