Form HTML

Ein Formular, das jedes Feld benennt

Eingabefeld, Textbereich, Absenden: drei Stellen im HTML-Formular.

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

Vom Feld zur Anfrage

Ein Formular ist ein Datenweg

Sichtbare Beschriftung, HTML-Verknüpfung und Serverdaten müssen dieselbe Frage meinen.

Schematische Ansicht, kein bedienbares Formular: vom sichtbaren Feld bis zur POST-Anfrage
Beschriftung
for="mail"id="mail"

Verbindet sichtbaren Text und Feld im Browser sowie im Accessibility Tree.

Übermittlung
name="email"email=…

Der name wird zum Schlüssel in den gesendeten Daten.

Ziel und Methode
action="/anfrage"method="post"

Der Browser baut daraus eine Anfrage an den vorgesehenen Server-Endpunkt.

POST/anfrage
nameAnna Bergeremailanna@example.organliegenangebotnachrichtBitte um eine Rückmeldung.

Nicht im Paket:id, for und Felder ohne name.

GET und POST legen Daten an verschiedene Stellen

Die Methode beschreibt die HTTP-Anfrage. Sie ersetzt weder HTTPS noch die Prüfung auf dem Server.

GETlesen und teilen
Adresszeile/suche?q=formular

Die Werte stehen in der URL. Das passt zu Suchen und Filtern, deren Ergebnis verlinkbar sein soll.

POSTzur Verarbeitung senden
Anfragekörperemail=anna%40example.org

Die Werte stehen im Request-Body. POST macht sie nicht geheim; dafür braucht die Verbindung HTTPS.

kontaktformular.html

Das vollständige Grundformular

id verbindet das Feld mit seinem Label. name benennt den Wert für den Server. type und autocomplete helfen dem Browser bei Eingabe, Prüfung und Ausfüllen.

Vor dem EinsatzDer Endpunkt /anfrage muss existieren, Eingaben serverseitig prüfen und eine verständliche Antwort liefern.
<form action="/anfrage" method="post">
  <p>
    <label for="name">Name</label>
    <input id="name" name="name" type="text"
      autocomplete="name" required>
  </p>

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

  <p>
    <label for="anliegen">Anliegen</label>
    <select id="anliegen" name="anliegen">
      <option value="angebot">Angebot</option>
      <option value="frage">Frage zum Ablauf</option>
    </select>
  </p>

  <p>
    <label for="nachricht">Nachricht</label>
    <textarea id="nachricht" name="nachricht"
      rows="5" required></textarea>
  </p>

  <button type="submit">Anfrage senden</button>
</form>

So prüfen Sie es

Kontrollieren Sie die drei Verbindungen nacheinander.

  1. Label
    Auf „E-Mail“ klickenDer Cursor springt in das E-Mail-Feld: for und id passen.
  2. Tab
    Ohne Maus durchlaufenJedes Feld und der Absende-Button erhalten einen sichtbaren Fokus.
  3. Leer
    Ohne Eingabe absendenDer Browser benennt die Pflichtfelder; ergänzen Sie verständliche Hinweise für komplexere Regeln.
  4. Netzwerk
    Anfrage im Browser prüfenMethode, Ziel und Payload zeigen die erwarteten name=value-Paare.

Aus dem Prüfbericht

Zwei Regeln, zwei Befunde

Zum Mitnehmen

Das HTML-Formular, korrigiert

Zwei Änderungen im HTML. Die Übermittlung bleibt gleich.

Korrektur in 2 Schritten ansehen
  1. Feld und Beschriftung verbinden

    for zeigt auf die id des Feldes. Gesendet wird weiter über name; die Beschriftung bleibt sichtbar, auch wenn schon Text im Feld steht.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <form action="/anfrage" method="post">
      <input type="text" name="name" placeholder="Ihr Name">
    </form>

    Nachher

    <form action="/anfrage" method="post">
      <label for="name">Ihr Name</label>
      <input id="name" type="text" name="name">
    </form>

    Markierte Zeilen wurden geändert

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

  2. Aus dem div eine Schaltfläche machen

    Ein button ist mit Tabulator und Leertaste bedienbar und meldet sich als Schaltfläche. Sein Text ist zugleich sein Name.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <div class="senden" onclick="formular.submit()">Absenden</div>

    Nachher

    <button type="submit" class="senden">Absenden</button>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Gehen Sie mit der Tabulatortaste auf „Absenden“ und drücken Sie die Leertaste. Das Formular wird gesendet.

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.