Barrierefreie Formulare sind Web-Formulare, bei denen alle Eingabefelder programmatisch beschriftete Labels besitzen, Fehler in verständlichem Text (nicht nur farblich) angezeigt werden und Erfolgsmeldungen für assistive Technologien ankündigt werden – damit Screen Reader – Barrierefreiheit für blinde und sehbehinderte Nutzer-Nutzer und Tastaturnutzer jede Formularinteraktion fehlerfrei abschließen können.
Rubrik: Mediendesign & Digitale Medien · Unterrubrik: Accessibility · Niveau: Fortgeschritten
Warum sind barrierefreie Formulare wichtig?
Formulare sind die kritischste Interaktionsstelle im Web: Kontakt, Registrierung, Kaufabschluss, Buchung, Bewerbung – alle diese Aktionen erfordern die korrekte Eingabe in Formularfelder. Gleichzeitig sind Formulare eine der häufigsten Fehlerquellen in Accessibility-Audits: WebAIM's Million-Crawl (2024) stellte bei 56 % aller getesteten Webseiten fehlende oder fehlerhafte Formular-Labels fest.
Menschen, die von barrierefreien Formularen besonders abhängig sind: Blinde und sehbehinderte Nutzer (Screen Reader – Barrierefreiheit für blinde und sehbehinderte Nutzer), Nutzer mit motorischen Einschränkungen (Tastaturnavigation & Fokus-Management), Nutzer mit kognitiven Einschränkungen (klare Fehlermeldungen).
Erklärung
1. Labels: Jedes Feld braucht ein Label
Die grundlegendste Anforderung: Jedes Eingabefeld muss ein programmatisch verknüpftes Label haben. WCAG Kriterium 1.3.1 (Info and Relationships, Stufe A) und 3.3.2 (Labels or Instructions, Stufe A) fordern dies.
Empfohlene Methode: Explizites `<label>`-Element mit `for`-Attribut:
``html <label for="name">Ihr Name *</label> <input type="text" id="name" name="name" required aria-required="true"> ``
Auch korrekt: Label mit eingeschachteltem Input:
``html <label> Ihr Name * <input type="text" name="name"> </label> ``
Nicht ausreichend:
- Nur Placeholder-Text ohne Label:
<input placeholder="Ihr Name">– Placeholder verschwindet bei Eingabe, erfüllt kein Label. - Rein visuelles Label ohne programmatische Verknüpfung (z. B. benachbarter
<p>-Text). aria-labeloderaria-labelledbysind technisch korrekte Alternativen (vgl. ARIA-Labels – Zugängliche Rich Internet Applications), aber sichtbare Labels sind für kognitive Accessibility vorzuziehen.
2. Pflichtfelder kennzeichnen
Pflichtfelder müssen sowohl visuell als auch programmatisch gekennzeichnet sein:
``html <label for="email">E-Mail-Adresse <span aria-hidden="true">*</span></label> <input type="email" id="email" required aria-required="true"> <p id="required-note">* Pflichtfeld</p> ``
Das *-Symbol wird via aria-hidden="true" ausgeblendet, damit Screen Reader nicht „Sternchen" vorlesen. Das aria-required="true" kommuniziert die Pflichtfeld-Eigenschaft an Screen Reader. Eine Legende erklärt die Bedeutung des Sternchens.
Pflichtfelder dürfen nicht ausschließlich durch Farbe (z. B. roten Rahmen) gekennzeichnet sein – vgl. Design für Farbenblinde – Typen, Auswirkungen & Tools und Farbkontrast & Accessibility – AA vs. AAA-Standards.
3. Eingabehinweise und Feldformat
Bei Feldern mit spezifischen Eingabeformaten (Datum, Telefonnummer, Passwortregeln) müssen Hinweise vor oder während der Eingabe sichtbar und für Screen Reader zugänglich sein:
``html <label for="phone">Telefonnummer</label> <input type="tel" id="phone" aria-describedby="phone-hint"> <p id="phone-hint" class="field-hint">Format: 030 12345678 (inkl. Vorwahl)</p> ``
Der aria-describedby-Link verbindet Feld und Hinweis für Screen Reader (vgl. ARIA-Labels – Zugängliche Rich Internet Applications).
4. Fehlermeldungen: Klar, textuell, kontextnah
WCAG Kriterium 3.3.1 (Error Identification, Stufe A) und 3.3.3 (Error Suggestion, Stufe AA) fordern:
- Fehler müssen im Text beschrieben sein (nicht nur farblich).
- Fehlermeldungen müssen das spezifische Problem benennen und möglichst einen Korrekturvorschlag geben.
Schlechtes Beispiel:
``html <input type="email" class="error"> <!-- nur roter Rand --> <p class="error-msg">Ungültige Eingabe</p> ``
Gut:
``html <input type="email" id="email" aria-describedby="email-error" aria-invalid="true"> <p id="email-error" role="alert"> Bitte geben Sie eine gültige E-Mail-Adresse ein (z. B. name@beispiel.de). </p> ``
aria-invalid="true" signalisiert Screen Readern den Fehlerzustand. role="alert" (oder aria-live="assertive") stellt sicher, dass die Fehlermeldung sofort vorgelesen wird.
Fehlermeldungen sollen:
- Das betroffene Feld benennen
- Das Problem beschreiben
- Einen Korrekturweg zeigen (wenn möglich)
- In der Nähe des Feldes platziert sein
Bei mehreren Fehlern nach Absenden: Eine Fehler-Zusammenfassung am Formularanfang mit Links zu den betroffenen Feldern ist Best Practice (WCAG 3.3.3).
5. Bestätigung und Erfolgsmeldungen
Nach erfolgreichem Absenden muss eine Erfolgsmeldung programmatisch angekündigt werden:
``html <div role="status" aria-live="polite" id="success-message"> Ihre Anfrage wurde erfolgreich gesendet. Wir melden uns innerhalb von 2 Werktagen. </div> ``
role="status" mit aria-live="polite" stellt sicher, dass Screen Reader die Meldung vorlesen, sobald der aktuelle Sprachfluss abbricht.
Alternativ: Fokus nach dem Absenden auf die Erfolgsmeldung setzen (successMessage.focus()).
6. Barrierefreie Select-Elemente und Checkboxen
Select-Dropdowns: Native <select>-Elemente sind am zugänglichsten. Benutzerdefinierte Dropdowns erfordern vollständige ARIA-Labels – Zugängliche Rich Internet Applications-Implementierung (role="combobox" / role="listbox").
Checkboxen und Radiobuttons: Native HTML-Inputs sind vorzuziehen. Müssen in <fieldset> + <legend> gruppiert werden, wenn sie thematisch zusammengehören:
``html <fieldset> <legend>Newsletter abonnieren</legend> <label><input type="checkbox" name="nl-design"> Design</label> <label><input type="checkbox" name="nl-tech"> Technologie</label> </fieldset> ``
7. Barrierefreie Authentifizierung (WCAG 2.2 neu)
WCAG 2.2 fügte das Kriterium 3.3.8 (Accessible Authentication, Stufe AA) hinzu: Authentifizierungsprozesse dürfen keine Gedächtnis- oder Schreibtests erfordern, die nicht durch alternative Methoden ersetzt werden können. CAPTCHA-Puzzles, die ausschließlich auf visuellem Erkennen basieren, verstoßen dagegen. Lösungen: Text-CAPTCHAs, Audio-CAPTCHA-Alternativen, Honeypot-Verfahren oder reCAPTCHA v3 (unsichtbar).
Beispiele
Vollständiges barrierefreies Formularfeld:
``html <div class="field"> <label for="username"> Benutzername <span aria-hidden="true">*</span> </label> <input type="text" id="username" name="username" required aria-required="true" aria-describedby="username-hint username-error" autocomplete="username" > <p id="username-hint" class="hint">Mindestens 4 Zeichen.</p> <p id="username-error" class="error" role="alert" hidden> Bitte geben Sie einen Benutzernamen mit mindestens 4 Zeichen ein. </p> </div> ``
In der Praxis
Im Design-System sollten Formularkomponenten als fertige, barrierefreie Bausteine definiert werden: Text-Input, E-Mail-Input, Password-Input, Select, Checkbox, Radiobutton, Textarea. Jede Komponente mit Label, Hint, Error-State und Success-State.
Vergleich & Abgrenzung
Accessible Forms vs. gutes UX-Design für Formulare: Barrierefreiheit und gutes Formular-UX sind in den meisten Punkten identisch: Klare Labels, hilfrei Fehlermeldungen und Bestätigungen verbessern die Nutzungserfahrung aller.
HTML-Formulare vs. [Barrierefreie PDFs – Tagging, Struktur & Standards](/wiki/mediendesign-digitale-medien/accessibility/barrierefreiheit-pdf/)-Formulare: PDF-Formulare haben grundlegende Accessibility-Einschränkungen. HTML-Formulare sind für digitale Transaktionen grundsätzlich vorzuziehen.
Häufige Fragen (FAQ)
Ist ein Placeholder ein ausreichendes Label? Nein. Placeholder-Text ist kein Ersatz für Labels. Er verschwindet beim Tippen, hat oft unzureichenden Farbkontrast & Accessibility – AA vs. AAA-Standards und wird nicht von allen Screen Readern konsistent behandelt.
Müssen Fehlermeldungen sofort oder erst nach dem Absenden angezeigt werden? Beides ist möglich. Inline-Validierung nach dem Verlassen eines Feldes (blur) ist für Accessibility geeignet, wenn sie nicht zu früh ausgelöst wird. Wichtig: Fehler dürfen kein Feld erst beim Fokussieren für ungültig erklären.
Verwandte Einträge
- WCAG – Web Content Accessibility Guidelines im Überblick
- ARIA-Labels – Zugängliche Rich Internet Applications
- Tastaturnavigation & Fokus-Management
- Screen Reader – Barrierefreiheit für blinde und sehbehinderte Nutzer
- Farbkontrast & Accessibility – AA vs. AAA-Standards
- Design für Farbenblinde – Typen, Auswirkungen & Tools
- Accessibility Testing – Tools & Methoden (axe, WAVE, Lighthouse)
Weiterführend
- W3C WAI: Forms Tutorial. 2019.
- W3C WAI: Understanding WCAG 3.3.1: Error Identification. 2023.
- WebAIM: Creating Accessible Forms. 2023.
- WebAIM: The WebAIM Million 2024 – Annual Accessibility Analysis of the Top 1,000,000 Home Pages. WebAIM, 2024.
- Krug, Steve: Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability. 3. Aufl., New Riders, 2014.
