Form Accessibility

Jedes Feld nennt seinen Zweck

Eingabefeld, Auswahlliste, Eingabezweck: drei Stellen im Formular.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 4.1.2Regler ohne zugänglichen Namen

Formular als Nutzerweg

Jede Eingabe braucht Name, Hilfe und Rückmeldung

Eine schematische Anfrage zeigt die Verbindungen hinter einem zugänglichen Formular.

Fiktives Formular · AusgangszustandWas sichtbar ist und was technisch verbunden sein muss Die Nummern verbinden die Oberfläche mit den Informationen für Browser und Hilfsmittel.
ProjektanfrageErzählen Sie uns von Ihrem VorhabenPflichtfelder sind mit „Pflichtfeld“ bezeichnet.
1Ihr Name PflichtfeldMara Neumann
2E-Mail Pflichtfeldmara@beispiel.deWir senden die Antwort an diese Adresse.autocomplete: email
3Wobei können wir helfen? Neue Website Bestehende Website prüfen
4NachrichtZeitraum und wichtige Nutzerwege …
Anfrage senden
  1. 1
    Sichtbarer Name

    for="name" zeigt auf id="name".

  2. 2
    Hilfe am Feld

    aria-describedby verbindet die kurze Erklärung.

  3. 3
    Gruppe mit Frage

    fieldset und legend halten Auswahl und Frage zusammen.

  4. 4
    Eingabezweck

    Gültige autocomplete-Werte unterstützen das Ausfüllen.

Beispiel einer Ausgabe
„E-Mail, Pflichtfeld, Eingabefeld. Wir senden die Antwort an diese Adresse.“

Die genaue Ansage hängt von Hilfsmittel und Browser ab. Entscheidend sind Name, Zweck und Beschreibung.

Nach dem Absenden

Der Fehlerweg bleibt sichtbar und kurz

Text, Fokus und Verknüpfung führen zur Korrektur und danach zur Bestätigung.

1Anfrage senden

Die Prüfung findet zwei unvollständige Angaben.

Absenden
22 Eingaben prüfen
  • E-Mail: Bitte geben Sie eine vollständige Adresse ein.
  • Nachricht: Bitte beschreiben Sie Ihr Vorhaben.
Fokus steht an der Zusammenfassung.
3E-Mail Fehlermara@

Bitte geben Sie eine vollständige Adresse ein.

Zusammenfassung und Feld nennen denselben Fehler.
4Versendete Nachricht Schematischer Briefumschlag mit einem gesetzten Bestätigungspunkt. Anfrage gesendet

Eine Statusmeldung bestätigt den Abschluss, ohne den Fokus unnötig zu versetzen.

Referenzmuster

Die Verbindungen im HTML

Das Beispiel zeigt ein Feld vollständig: sichtbarer Name, Zweck, Hinweis, Fehlermeldung und eine Zusammenfassung mit Sprungziel.

Name
label und for
Hilfe
aria-describedby
Fehler
aria-invalid plus Text
Ergebnis
role="status"
<form id="anfrage" novalidate>
  <div id="fehler" tabindex="-1" hidden>
    <h2>Bitte prüfen Sie Ihre Eingabe</h2>
    <a href="#email">
      E-Mail: vollständige Adresse eingeben
    </a>
  </div>

  <label for="email">E-Mail (Pflichtfeld)</label>
  <input id="email" name="email" type="email"
    autocomplete="email" required
    aria-describedby="email-hilfe email-fehler">
  <p id="email-hilfe">
    Wir senden die Antwort an diese Adresse.
  </p>
  <p id="email-fehler"></p>

  <button type="submit">Anfrage senden</button>
  <p id="erfolg" role="status"></p>
</form>

Zustand aktualisieren

Fehler in Text und Code setzen

Das Skript ergänzt die Browserprüfung um eigene Rückmeldung. Die gleiche Prüfung gehört weiterhin auf den Server.

const form = document.querySelector('#anfrage');
const email = document.querySelector('#email');
const fehler = document.querySelector('#fehler');
const text = document.querySelector('#email-fehler');
const erfolg = document.querySelector('#erfolg');

form.addEventListener('submit', (event) => {
  event.preventDefault();
  const ungueltig = !email.validity.valid;

  email.setAttribute('aria-invalid', String(ungueltig));
  text.textContent = ungueltig
    ? 'Bitte geben Sie eine vollständige Adresse ein.'
    : '';
  fehler.hidden = !ungueltig;

  if (ungueltig) {
    fehler.focus();
    return;
  }

  erfolg.textContent = 'Anfrage gesendet.';
});

So prüfen Sie es

Beobachten Sie den ganzen Weg

  1. 01Name

    Klick auf das sichtbare Label setzt den Fokus ins Feld.

  2. 02Fehler

    Leeres Absenden zeigt Zusammenfassung und Text direkt am Feld.

  3. 03Tastatur

    Der Link in der Zusammenfassung führt zurück zum fehlerhaften Feld.

  4. 04Erfolg

    Nach gültiger Eingabe wird die Bestätigung wahrnehmbar ausgegeben.

Aus dem Prüfbericht

Drei Regeln, drei Befunde

Zum Mitnehmen

Das Formular, korrigiert

Drei Änderungen im HTML. Felder, Namen und Werte bleiben.

Korrektur in 3 Schritten ansehen
  1. Den Platzhalter durch ein label ersetzen

    Ein label mit for wird zum Namen des Feldes und bleibt beim Tippen stehen. Der Platzhalter ist dafür kein Ersatz.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <input type="text" name="vorname" placeholder="Vorname">

    Nachher

    <label for="vorname">Vorname</label>
    <input id="vorname" type="text" name="vorname">

    Markierte Zeilen wurden geändert

    So prüfen Sie es Klicken Sie auf das Wort „Vorname“. Springt der Cursor ins Feld, ist der Name verbunden.

  2. Die Auswahlliste benennen

    Aus dem span wird ein label mit for. Der sichtbare Text bleibt gleich und ist zugleich der Name der Auswahlliste.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <span>Anrede</span>
    <select id="anrede" name="anrede">
      <option value="keine">Keine Angabe</option>
    </select>

    Nachher

    <label for="anrede">Anrede</label>
    <select id="anrede" name="anrede">
      <option value="keine">Keine Angabe</option>
    </select>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Klicken Sie auf „Anrede“. Der Fokus springt in die Auswahlliste.

  3. Einen gültigen Eingabezweck setzen

    autocomplete kennt eine feste Liste von Werten. Nur ein gültiger Wert erlaubt es Browser und Hilfsmitteln, das Feld automatisch zu füllen.

    KorrekturvergleichSchritt 3 · HTML

    Vorher

    <label for="mail">E-Mail</label>
    <input id="mail" type="email" name="mail" autocomplete="mailadresse">

    Nachher

    <label for="mail">E-Mail</label>
    <input id="mail" type="email" name="mail" autocomplete="email">

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tippen Sie einen Buchstaben in das Feld. Der Browser bietet Ihre gespeicherte Adresse an.

Werbung

Kostenloser Website-Barrierefreiheits-Check

Website auf Barrierefreiheit prüfen.

Technische WCAG-Warnsignale erkennen. Kritische Stellen zuerst prüfen.

Der Website-Check ist bereit.

Werbung

Ein letzter Schritt

Prüfen, bevor Sie gehen.

Finden Sie automatisch erkennbare Barrieren auf Ihrer eigenen Website.

Website prüfen

Kostenlos starten · keine Installation

Automatisches Screening. Tastaturbedienung und Screenreader bleiben manuelle Prüfung.