Date Picker in HTML

Ein Datumsfeld, das sich ausfüllen lässt

Beschriftung, Eingabezweck, Grenzwerte: drei Stellen am Datumsfeld.

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

Anatomie eines Datumsfelds

Eine Eingabe, zwei Darstellungen, derselbe Datumswert

Der Browser lokalisiert die Bedienung. HTML hält Name, Zweck, Grenzen und Übertragungswert stabil.

Konzeptansicht · Browserdarstellung kann abweichenGeburtsdatum auswählen und eindeutig übertragen
sichtbare BeschriftungGeburtsdatumfor="geburtsdatum"

id="geburtsdatum"verbindet Feld und Label

autocomplete="bday"nennt den Eingabezweck

min / maxbilden die Regel dieses Formulars ab

lokale Anzeige, Beispiel24.03.1985
Wert im DOM1985-03-24
gesendeter Formularwertgeburtsdatum=1985-03-24

Vier Zustände, die Sie getrennt prüfen

Die sichtbare Kalenderfläche ist nur ein Teil des Felds.

01Leer und erforderlich

required verhindert das Absenden ohne Wert.

02Gültiger Wert

Anzeige lokal, value trotzdem 1985-03-24.

03Außerhalb der Grenze

Browserprüfung greift; der Server prüft denselben Bereich erneut.

04Kein nativer Kalender

Der sichtbare Formathinweis bleibt verständlich und erreichbar.

Nativ beginnen, eigene Kalender nur bei echtem Bedarf bauen

Eine Kalendergrafik allein ist noch kein zugänglicher Date Picker.

HTML übernimmtinput type="date"
  • lokalisierte Eingabeoberfläche
  • normalisierter Datumswert
  • Grenzprüfung mit min und max
  • mobile Systemoberfläche, sofern angeboten
Eine eigene Lösung brauchtDialog + Kalender-Grid + Fokusmodell
  • nur einen Tag im Tabulatorlauf
  • Pfeiltasten für Tage und Wochen
  • Ansage beim Monatswechsel
  • Escape, Fokusfang und Rückkehr zum Auslöser

Das vollständige native Feld

Die Grenzen sind Beispielregeln dieses Formulars. Ersetzen Sie sie durch Ihren Bereich.

<form method="post" action="/profil">
  <label for="geburtsdatum">
    Geburtsdatum
  </label>
  <input
    id="geburtsdatum"
    name="geburtsdatum"
    type="date"
    autocomplete="bday"
    min="1900-01-01"
    max="2026-09-08"
    aria-describedby="geburtsdatum-hinweis"
    required>
  <p id="geburtsdatum-hinweis">
    Zulässiger Bereich in diesem Formular:
    01.01.1900 bis 08.09.2026. Der Browser
    zeigt ein lokales Format; übertragen wird
    Jahr-Monat-Tag.
  </p>
  <button type="submit">
    Speichern
  </button>
</form>
A · Namefor entspricht id

Das sichtbare Label wird zum Namen und vergrößert die anklickbare Fläche.

B · Zweckautocomplete="bday"

Unterstützende Browser können ein gespeichertes Geburtsdatum anbieten.

C · Grenzenmin und max

Die Werte müssen echte Regeln Ihres Angebots abbilden und serverseitig gelten.

D · ErsatzFormathinweis bleibt sichtbar

Er hilft auch dann, wenn kein Kalender angezeigt wird.

So prüfen Sie es

  1. Aktivieren Sie das Wort „Geburtsdatum“. Der Fokus wechselt in das verbundene Feld.
  2. Prüfen Sie Tastatur und Touch in Ihren Zielbrowsern. Kalenderdarstellung und Tastenmodell dürfen sich unterscheiden, das Feld muss jeweils bedienbar bleiben.
  3. Lesen Sie nach der Eingabe input.value. Der Wert lautet 1985-03-24, unabhängig von der sichtbaren Reihenfolge.
  4. Testen Sie leer, gültig und außerhalb der Grenzen. Zeigen Sie serverseitige Fehler als Text am Feld, auch wenn der Browser bereits prüft.

Aus dem Prüfbericht

Zwei Regeln an einem Feld

Kritisch Ein erfundener Eingabezweck am Geburtsdatum Regel autocomplete-valid

Werte wie „geburtstag“ sind nicht definiert. Für ein Geburtsdatum gilt autocomplete="bday"; unterstützende Browser können damit einen gespeicherten Wert anbieten.

Anleitung: Eingabezwecke mit Autocomplete auszeichnen

Zum Mitnehmen

Das Datumsfeld, korrigiert

Ein label, ein gültiger Eingabezweck, zwei Grenzen.

Korrektur in 2 Schritten ansehen
  1. Beschriftung mit dem Feld verbinden

    Räumliche Nähe genügt nicht. Erst for und id verbinden den sichtbaren Text mit dem Feld und machen ihn zu seinem Namen.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <span>Geburtsdatum</span>
    <input type="date" name="geburtsdatum">

    Nachher

    <label for="geburtsdatum">Geburtsdatum</label>
    <input id="geburtsdatum" type="date" name="geburtsdatum">

    Markierte Zeilen wurden geändert

    So prüfen Sie es Klicken Sie auf das Wort „Geburtsdatum“. Springt der Cursor ins Feld, sitzt die Verbindung.

  2. Eingabezweck und Zeitraum ergänzen

    „geburtstag“ ist kein gültiger Wert. bday nennt den Eingabezweck; min und max bilden die fachliche Spanne dieses Formulars ab.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <label for="geburtsdatum">Geburtsdatum</label>
    <input id="geburtsdatum" type="date" name="geburtsdatum"
      autocomplete="geburtstag">

    Nachher

    <label for="geburtsdatum">Geburtsdatum</label>
    <input id="geburtsdatum" type="date" name="geburtsdatum"
      autocomplete="bday" min="1900-01-01" max="2026-09-08">

    Markierte Zeilen wurden geändert

    So prüfen Sie es Prüfen Sie bei unterstütztem Autofill, ob der Browser ein gespeichertes Geburtsdatum anbietet.

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.