Skip to main content
WCAG 2.1 & 2.2 Umsetzungs-Leitfaden

WCAG für Entwickler & Product Teams: Vom Standard zum Code

WCAG-Regeln wirken abstrakt und sehr technisch. In der Praxis entscheiden sie aber über konkrete Dinge: Funktioniert der Checkout ohne Maus? Ist eine Fehlermeldung verknüpft und verständlich? Bleibt der Fokus hinter dem Cookie-Banner sichtbar? Dieser Leitfaden übersetzt die Kriterien in konkrete Code-Muster, Design-Entscheidungen und automatisierte Workflows für moderne Sprint-Teams.

WCAG 2.1 & 2.2 (Level A & AA)
BFSG & EAA praxisnah
Open-Source Dev Tools
WCAG Grundlagen

WCAG kurz erklärt: Aufbau, Level und Versionen

Erst verstehen, dann umsetzen: Dieser Guide erklärt kurz, wie WCAG aufgebaut ist und was Level A, AA, WCAG 2.1 und WCAG 2.2 bedeuten. Danach übersetzt er die wichtigsten Anforderungen in konkrete Entscheidungen für Design, Code, Testing und Produkt-Workflows.

WCAG steht für Web Content Accessibility Guidelines. Die Richtlinien beschreiben, wie Websites und digitale Produkte für Menschen mit unterschiedlichen Behinderungen zugänglicher gestaltet werden können. Die WCAG wirken auf den ersten Blick komplex. Ihr Aufbau ist jedoch logisch: Vier grundlegende Prinzipien gliedern das Thema. Darunter liegen Richtlinien und konkrete Erfolgskriterien, die Teams in Design, Code und Qualitätssicherung umsetzen und prüfen können.

Struktur-Hierarchie
WCAG4 PrinzipienRichtlinienErfolgskriterienLevel A, AA oder AAA

Der hierarchische Aufbau der WCAG

Prinzip

Die übergeordnete Frage zur Zugänglichkeit

Beispiel: Können User den Inhalt wahrnehmen?

Richtlinie

Ein Themenbereich innerhalb eines Prinzips

Beispiel: Inhalte müssen unterscheidbar sein

Erfolgskriterium

Eine konkrete, prüfbare Anforderung

Beispiel: Text benötigt ausreichenden Kontrast (4.5:1)

Konformitätsstufe

Der Anspruch des Kriteriums

Beispiel: Level A, AA oder AAA

WCAG-Version

Die Ausgabe der Richtlinien

Beispiel: WCAG 2.1 oder WCAG 2.2

Die vier WCAG-Prinzipien (POUR)

Die vier Prinzipien sind die oberste Ebene. Die konkrete Arbeit erfolgt über Erfolgskriterien, zum Beispiel WCAG 1.1.1 für Textalternativen, WCAG 2.1.1 für Tastaturbedienung oder WCAG 3.3.1 für die Erkennung von Eingabefehlern.

Wahrnehmbar (Perceivable)

„Können User die Informationen wahrnehmen?“

Textalternativen für Bilder, logische Überschriften, ausreichender Farbkontrast, Untertitel für Videos.

Bedienbar (Operable)

„Können User alle Funktionen bedienen?“

Vollständige Tastaturbedienung, sichtbarer Fokus, intuitive Navigation, ausreichende Touch-Ziele.

Verständlich (Understandable)

„Sind Inhalte und Abläufe für User verständlich?“

Eindeutige Formular-Labels, verständliche Fehlermeldungen, konsistente Bedienmuster.

Robust (Robust)

„Können Hilfsmittel und Browser den Code interpretieren?“

Sauberes semantisches HTML, korrekte Rollen und Zustände, gezielter und fehlerfreier ARIA-Einsatz.

Was bedeuten Level A, AA und AAA?

Die Stufen bauen aufeinander auf: Ein Ziel auf Level AA umfasst die Kriterien aus Level A und zusätzlich die Kriterien aus Level AA. Level AAA ergänzt weitere Anforderungen. Entscheidend bleibt jedoch nicht nur das Level-Label, sondern ob Menschen wichtige Aufgaben tatsächlich erfolgreich erledigen können.

Level A

Grundlegende Barrieren werden reduziert

Wichtige grundlegende Anforderungen; harte Blockaden müssen adressiert werden.

Level AAZentraler Standard

Zusätzliche, praxisrelevante Anforderungen

Der rechtliche und fachliche Zielbereich für BFSG, EAA, BITV 2.0 und professionelle Websites.

Level AAA

Sehr hoher Anspruch mit zusätzlichen Kriterien

Für einzelne Anforderungen sinnvoll, aber selten für eine gesamte Web-App flächendeckend gefordert.

Was ist der Unterschied zwischen WCAG 2.1 und WCAG 2.2?

WCAG 2.2 ergänzt WCAG 2.1. Die Anforderungen aus WCAG 2.1 bleiben dabei vollständig erhalten; WCAG 2.2 fügt weitere Kriterien für moderne Web- und Mobil-Nutzung hinzu. Für die konkrete Einordnung sollten Teams prüfen, welche Standards (z. B. EN 301 549) vertraglich oder gesetzlich gefordert sind.

WCAG 2.1

Ergänzt frühere Versionen um Anforderungen für mobile Nutzung und responsive Interaktionen.

Fokus: Touch-Gesten, Bildschirm-Orientierung, flexible Textabstände, reflowbare Layouts.

WCAG 2.2

Baut auf WCAG 2.1 auf und ergänzt weitere Kriterien für moderne Bedienmuster und kognitive Entlastung.

Fokus: Nicht verdeckter Fokus (2.4.11), Mindest-Touch-Zielgrößen (2.5.8), zugängliche Authentifizierung ohne Gedächtnistest (3.3.8).

Schnelleinstieg nach Rolle

Dein Einstiegspunkt in die WCAG-Umsetzung

Barrierefreiheit gelingt nur, wenn Design, Frontend und Produktmanagement an denselben Schnittstellen ansetzen. Wähle deinen Fokusbereich:

Code & CI/CD

Frontend-Entwickler

Tastaturfallen, dynamische Fehlerzustände, ARIA-Antipatterns und Localhost-Scans vor dem Commit.

  • Semantisches HTML und Accessible Names
  • Fokus-Management & Modal-Focus-Trapping
  • aria-invalid & aria-describedby für dynamische Fehler
  • Localhost-Testing via Open-Source-MCP
Design-System & Tokens

UI/UX Designer

Fokus-Indikatoren, Kontrast-Tokens aller Zustände und Touch-Targets nach WCAG 2.2.

  • 4.5:1 Textkontrast & 3:1 für grafische UI-Elemente
  • Fokus-Darstellung nach WCAG 2.4.11 & 2.4.13 absichern
  • Mindest-Touch-Ziele von 24x24px (WCAG 2.5.8)
  • Formularzustände mit Icons statt reiner Farbe
Prioritäten & BFSG

Product Leads & Agenturen

Risiko-Reduktion auf Core-Journeys, §17 BFSG Nachweisdokumentation und Sprint-Planung.

  • Checkout- & Registrierungs-Flows priorisieren
  • Automatisierung mit gezielten Experten-Tests verzahnen
  • Nachweisbare Audit-Dokumentation für Behörden
  • Klare Akzeptanzkriterien für User Stories
Sprint-Priorisierung

Wo Teams anfangen sollten: Die 4-Stufen-Matrix

Nicht alle Kriterien haben denselben Einfluss auf Nutzer und rechtliche Konformität. Diese Matrix ordnet WCAG-Anforderungen nach Blockadewirkung in echten Journeys:

1

P1: Formulare & Checkout

Nutzer-Auswirkung bei Fehler

Kauf- und Registrierungsabbruch für Screenreader & Tastaturnutzer

Typische Baustellen

<input>, <label>, inline-validation, aria-describedby

Echte HTML-<label> verknüpfen, Fehlermeldungen programmatisch verbinden.
2

P2: Tastaturbedienung & Dialoge

Nutzer-Auswirkung bei Fehler

Tastaturfalle, Nutzer bleiben in Modals oder Cookie-Bannern gefangen

Typische Baustellen

Modals, Flyout-Navigation, drawer, focus-trap, :focus-visible

Focus-Trap in Modals implementieren, Escape-Taste zum Schließen binden.
3

P3: Farbkontraste & Design-Tokens

Nutzer-Auswirkung bei Fehler

Schlechte Lesbarkeit bei Sehschwächen und hellem Sonnenlicht

Typische Baustellen

Placeholder-Text, sekundäre Buttons, Badges, Icons

Mindestens 4.5:1 für Fließtext und 3:1 für Icons/Ränder in Token-Sets sichern.
4

P4: Semantik, ARIA & Orientierung

Nutzer-Auswirkung bei Fehler

Verwirrende Screenreader-Ausgabe, unklare Dokumentenstruktur

Typische Baustellen

<header>, <main>, <nav>, <h1>-<h6>, button vs. a

Native HTML5-Landmarks verwenden, div-Buttons durch echte <button> ersetzen.
Praxis-Leitfäden

WCAG Themen-Guides für moderne Web-Apps

Dieser Guide ist keine Kopie der vollständigen Spezifikation. Er konzentriert sich auf die Themen, die bei modernen Websites, Shops, SaaS-Produkten und Kundenportalen besonders häufig praktische Auswirkungen haben:

WCAG 3.3.1, 3.3.2 & 4.1.2
Level AEntwickler & UX

Formulare, Labels & Fehlervalidierung

Jedes Eingabefeld benötigt ein explizit verknüpftes <label>. Fehlertexte müssen programmatisch per aria-describedby an das Feld gekoppelt sein.

Häufige Fehlerquelle:

Floating Labels ohne echtes <label>, Fehlermeldungen nur farblich in Rot ohne Textbezug oder programmatische Kopplung.

So testest du es:

Feld mit ungültigen Werten absenden: Liest der Screenreader sofort Feldname, Fehlergrund und Korrekturhinweis vor?

WCAG 2.1.1, 2.4.3 & 2.4.7
Level A & AAFrontend

Tastaturfokus, Modals & Dialoge

Alle interaktiven Elemente müssen per Tab erreichbar sein. Öffnet sich ein Modal, muss der Tastaturfokus hineinspringen und dort gefangen bleiben.

Häufige Fehlerquelle:

outline: none im CSS ohne Ersatz; Fokus wandert im Hintergrund weiter, während ein Dialog geöffnet ist.

So testest du es:

Maus abziehen und die gesamte Seite nur mit Tab, Shift+Tab, Enter und Escape durchlaufen.

WCAG 2.4.7, 2.4.11 & 2.4.13
Level AAFrontend & Design

Sichtbarer und nicht verdeckter Fokus

Der Tastaturfokus muss sichtbar bleiben und darf nicht durch Sticky Header, Cookie-Banner oder andere Inhalte verdeckt werden. WCAG 2.2 ergänzt dafür Anforderungen zu nicht verdecktem Fokus (2.4.11); visuelle Kontur-Anforderungen gehören zu 2.4.13.

Häufige Fehlerquelle:

Fokus wandert unter einen fest positionierten Sticky-Header oder Footer, ohne dass scroll-margin-top gesetzt ist.

So testest du es:

Mit Tab durch lange Seiten scrollen: Verschwindet die Fokus-Umrandung je hinter einem fixierten Element?

WCAG 1.4.3 & 1.4.11
Level AADesign-System

Kontraste, Dark Mode & Design-Tokens

Fließtext benötigt mindestens 4.5:1 Kontrast gegen den Hintergrund (3:1 für große Schrift ≥18pt/bold 14pt und grafische UI-Komponenten wie Ränder und Icons).

Häufige Fehlerquelle:

Hellgrauer Text (#999) auf weißem Grund; Input-Ränder ohne ausreichenden Kontrast zum Hintergrund.

So testest du es:

Automatischen Kontrast-Scan über alle Theme-Varianten (Light & Dark Mode) und Hover/Focus-Zustände ausführen.

WCAG 1.3.1 & 4.1.2
Level AEntwickler

Semantisches HTML & gezielter ARIA-Einsatz

Erste Regel von ARIA: Nutze nach Möglichkeit immer natives semantisches HTML (<button>, <a>, <nav>, <dialog>), bevor du ARIA-Rollen erfindest.

Häufige Fehlerquelle:

<div onClick=...> statt <button> — verliert automatischen Tastaturfokus und Space/Enter-Event-Handling.

So testest du es:

Suche im Code nach role='button' oder onClick auf <div>-Elementen ohne tabIndex und KeyDown-Handler.

WCAG 1.1.1
Level AContent & Dev

Bilder, Grafiken & aussagekräftige Alt-Texte

Informative Bilder benötigen präzisen Alternativtext im alt-Attribut. Rein dekorative Bilder müssen alt='' tragen, damit Screenreader sie stumm übergehen.

Häufige Fehlerquelle:

alt='Bild' oder Dateinamen wie alt='hero-banner-v2.png'; dekorative Hintergrund-Icons, die unnötig vorgelesen werden.

So testest du es:

Bilder im Browser deaktivieren: Sind alle wichtigen Informationen weiterhin als Text verständlich?

WCAG 1.3.1, 2.4.1 & 2.4.6
Level A & AAFrontend & SEO

Navigation, Überschriften & Skip-Links

Genau eine <h1> pro Seite und eine streng hierarchische Überschriftenstruktur (h2 folgt h1, h3 folgt h2). Ein Skip-Link erlaubt das Überspringen des Headers.

Häufige Fehlerquelle:

Überschriften-Level nach Schriftgröße statt logischer Dokumentenstruktur gewählt; fehlender Sprunglink zum Hauptinhalt.

So testest du es:

Überschriften-Hierarchie im Browser-Inspector auf Hierarchie-Lücken (z. B. h2 direkt auf h4) prüfen.

WCAG 2.5.5 & 2.5.8
Neu in WCAG 2.2UI Design & Mobile

Touch-Zielgrößen & Gesten

Bedienelemente müssen mindestens eine Zielgröße von 24x24 CSS-Pixeln haben oder ausreichenden Abstand zu Nachbarelementen aufweisen.

Häufige Fehlerquelle:

Winzige Icon-Buttons (16x16px) dicht nebeneinander auf mobilen Touchscreens.

So testest du es:

Device-Emulation im Browser öffnen und Hit-Area mit 24px-Boxen überlagern.

WCAG 3.3.8
Neu in WCAG 2.2Backend & Security

Zugängliche Authentifizierung & 2FA

Logins dürfen keinen kognitiven Funktionstest (wie das Lösen von Rechenaufgaben oder Merken von Codes) ohne Hilfsmittel verlangen. Passwort-Manager und Copy-Paste müssen erlaubt sein.

Häufige Fehlerquelle:

Blockieren von Einfügen (Ctrl+V) im Passwortfeld; visuelle Captchas ohne zugängliche Alternative.

So testest du es:

Login-Flow mit Passwort-Manager und Copy-Paste ausführen: Lässt sich das Formular ohne Reibung absenden?

Interaktive Code-Muster

Vorher / Nachher: So sieht barrierefreier Code aus

Klicke durch typische Frontend-Herausforderungen und vergleiche das Anti-Pattern mit dem WCAG-konformen Best Practice:

Ein Placeholder verschwindet beim Tippen und ersetzt keine Beschriftung. Ein echtes <label> mit for/id verknüpft Beschriftung und Eingabefeld eindeutig für Hilfsmittel und vergrößert den Klickbereich. Das Attribut autocomplete='email' unterstützt zudem die automatisierte Eingabe gemäß WCAG 1.3.5 (Eingabezweck identifizieren).

Anti-Pattern: Placeholder statt Label
<!-- Schlecht: Kein verknüpftes Label -->
<div class="input-group">
  <input 
    type="email" 
    placeholder="E-Mail-Adresse eingeben" 
    name="email"
  />
</div>
Best Practice: Explizites Label & Autocomplete
<!-- Gut: Explizites Label mit for/id und Autocomplete -->
<div class="input-group">
  <label for="user-email" class="font-medium">
    E-Mail-Adresse
  </label>
  <input 
    id="user-email"
    type="email" 
    name="email"
    autocomplete="email"
    required
    class="rounded-md border border-border px-3 py-2"
  />
</div>
Was der Screenreader vorliest:

„E-Mail-Adresse, Textfeld, erforderlich.“ (Statt nur „Textfeld, leer“)

Automatisierung & Grenzen

Warum automatisierte Scans allein nicht ausreichen

Automatisierte Prüfungen sind wertvoll, um wiederkehrende und automatisiert erkennbare Probleme früh zu finden und Regressionen zu vermeiden. Sie können jedoch nicht jede Frage im Nutzungskontext beantworten, etwa ob ein Hinweis verständlich ist, ob ein Flow logisch funktioniert oder ob ein komplexer Zustand wirklich erreichbar ist. Deshalb sollten Teams Automatisierung mit gezielten manuellen Tests kombinieren.

Automatisiert prüfbarSyntax, Kontraste & DOM-Attribute

Was automatisierte Scans zuverlässig finden

  • Fehlende Bildalternativen (fehlendes alt-Attribut)
  • Farbkontrast-Verstöße im Ruhezustand (unter 4.5:1)
  • Fehlende HTML-Formular-Labels (for/id Mismatch)
  • Ungültige ARIA-Rollen und Syntax-Fehler
  • Fehlende Dokumentensprache (lang-Attribut)
  • Doppelte IDs in interaktiven Komponenten
Kontext & InteraktionLogik, Flows & Screenreader

Was manuell und im Nutzungskontext geprüft werden muss

  • Ist ein Alt-Text inhaltlich sinnvoll oder reines Füllwort?
  • Funktioniert der vollständige Checkout nur mit der Tastatur?
  • Sind Fehlermeldungen für Menschen mit Behinderung verständlich?
  • Bleibt der Fokus bei dynamischen Modals und Drawern gefangen?
  • Klingen Screenreader-Ansagen in VoiceOver und NVDA logisch?
  • Sind Touch-Targets auf echten Smartphones ergonomisch erreichbar?
Empfohlene Teststrategie

Barrierefreiheit im Entwicklungsprozess testen: Empfohlener Ablauf

Entwickler sollten Barrierefreiheit wie automatisierte Tests behandeln: früh, kontinuierlich und vor dem Merge:

01Schritt 1 von 5

Lokal beim Coden scannen

Scanne localhost mit dem navable Open-Source MCP Server in VS Code oder Cursor direkt während der Komponenten-Entwicklung.

02Schritt 2 von 5

Tastatur-Check im Browser

Maus zur Seite legen. Jeden neuen Flow einmal mit Tab, Shift+Tab, Enter, Space und Escape komplett durchspielen.

03Schritt 3 von 5

Automatisierter CI/CD-Check

Axe-core oder Playwright-Scans im Pull-Request-Workflow laufen lassen, um Regressionen in main zu verhindern.

04Schritt 4 von 5

Screenreader-Stichprobe

Einmal monatlich die 3 wichtigsten Kern-Journeys mit VoiceOver (Mac/iOS) oder NVDA (Windows) mit geschlossenen Augen testen.

05Schritt 5 von 5

Audit-Nachweis & Erklärung

Ergebnisse zentral dokumentieren und die Barrierefreiheitserklärung aus den Audit-Daten aktualisieren.

Wichtige Einordnung für die Praxis:

Wichtige Einordnung für die Praxis: Teams, die die ersten beiden Schritte direkt im Sprint etablieren, beheben den Großteil typischer technischer Barrieren bereits während der Entwicklung – lange bevor externe Prüfungen oder Beanstandungen entstehen.

Shift-Left Entwickler-Tools

Prüfe WCAG-Kriterien direkt auf localhost

Kein Registrierungs-Zwang: Mit unserem Open-Source MCP Server testen AI-Agenten wie Cursor oder Claude Code Deine Seiten direkt im Browser:

$ npx @navable/mcp

Der MCP Server startet einen echten Chromium-Browser im Hintergrund, führt axe-core Scans auf Deinem Dev-Server aus und gibt Deiner KI konkrete Code-Fix-Vorschläge zurück.

Kompatibel mit gängigen Frameworks wie React, Next.js, Vue, Vite & Co.
Kein API-Key oder Account erforderlich
Gibt präzise DOM-Selektoren und WCAG-Kriterien aus
KI-Agent wendet Code-Fixes direkt in Deiner Datei an
Open-Source • MIT-Lizenz • Localhost-Ready
Kontinuierliche Begleitung

Wie navable Teams von Einzelfixes zu dauerhafter Barrierefreiheit führt

Ein Audit ist eine Momentaufnahme. navable bietet die Infrastruktur, um digitale Barrierefreiheit dauerhaft zu überwachen und nachzuweisen:

1

Multi-State Audits

Tiefenscans über Modals, Drawer, dynamische Fehlerzustände und Cookie-Banner.

2

CI/CD & MCP-Integration

Nahtlose Einbindung in CI/CD-Pipelines und Wiederverwendung der MCP-Tools verhindern Barrieren kontinuierlich vor dem Merge.

3

Prüffähige Dokumentation

Dokumentierte Konformitätsbemühungen als Nachweis für Marktüberwachungsbehörden (§17 BFSG).

4

Erklärungs-Generator

Erstellt strukturierte Barrierefreiheitserklärungen direkt aus aktuellen Audit-Daten.

Häufig gestellte Fragen zu WCAG & Barrierefreiheit

Bereit für barrierefreien Code im Sprint?

Entdecke mit navable, welche Barrieren auf Deiner Website bestehen – und wie Dein Team sie mit konkreten Code-Prompts behebt.