<datalist>: Das HTML Data List Element

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Das <datalist> HTML Element enthält eine Reihe von <option> Elementen, die die zulässigen oder empfohlenen Auswahlmöglichkeiten darstellen, die in anderen Steuerelementen ausgewählt werden können.

Probieren Sie es aus

<label for="ice-cream-choice">Choose a flavor:</label>
<input list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice" />

<datalist id="ice-cream-flavors">
  <option value="Chocolate"></option>
  <option value="Coconut"></option>
  <option value="Mint"></option>
  <option value="Strawberry"></option>
  <option value="Vanilla"></option>
</datalist>
label {
  display: block;
  margin-bottom: 10px;
}

Um das <datalist> Element an das Steuerelement zu binden, geben wir ihm in seinem id Attribut eine eindeutige Kennung und fügen dann dem <input> Element das list Attribut mit derselben Kennung als Wert hinzu. Nur bestimmte Arten von <input> unterstützen dieses Verhalten, und es kann auch je nach Browser variieren.

Jedes <option> Element sollte ein value Attribut haben, das einen Vorschlag darstellt, der in das Eingabefeld eingegeben werden soll. Es kann auch ein label Attribut haben oder, wenn es fehlt, einen Textinhalt, der möglicherweise vom Browser anstelle des value angezeigt wird (Firefox) oder zusätzlich zum value (Chrome und Safari als ergänzender Text). Der genaue Inhalt des Drop-Down-Menüs hängt vom Browser ab, aber beim Anklicken wird der Inhalt, der in das Steuerelement eingegeben wird, immer vom value Attribut stammen.

Note: <datalist> ist kein Ersatz für <select>. Ein <datalist> stellt keine Eingabe selbst dar; es ist eine Liste von vorgeschlagenen Werten für ein zugehöriges Steuerelement. Das Steuerelement kann immer noch jeden Wert akzeptieren, der die Validierung besteht, auch wenn er nicht in dieser Vorschlagsliste enthalten ist.

Attribute

Dieses Element hat keine anderen Attribute als die globalen Attribute, die allen Elementen gemeinsam sind.

Barrierefreiheit

Wenn Sie entscheiden, das <datalist> Element zu verwenden, sollten Sie auf folgende Barrierefreiheitsprobleme achten:

  • Die Schriftgröße der Optionen in der Dataliste zoomt nicht, sondern bleibt immer gleich groß. Die Inhalte des Autosuggests wachsen oder schrumpfen nicht, wenn der Rest der Inhalte ein- oder ausgezoomt wird.
  • Da das Ansprechen der Optionsliste mit CSS sehr eingeschränkt bis gar nicht möglich ist, kann das Rendering für den Hochkontrastmodus nicht gestaltet werden.
  • Einige Bildschirmleser/Browser-Kombinationen, darunter NVDA und Firefox, geben den Inhalt des Autosuggest-Popups nicht wieder.

Beispiele

Texttypen

Empfohlene Werte in den Typen text, search, url, tel, email und number werden in einem Dropdown-Menü angezeigt, wenn der Benutzer auf das Steuerelement klickt oder doppelklickt. Typischerweise zeigt die rechte Seite eines Steuerelements auch einen Pfeil, der auf das Vorhandensein vordefinierter Werte hinweist.

html
<label for="myBrowser">Choose a browser from this list:</label>
<input list="browsers" id="myBrowser" name="myBrowser" />
<datalist id="browsers">
  <option value="Chrome"></option>
  <option value="Firefox"></option>
  <option value="Opera"></option>
  <option value="Safari"></option>
  <option value="Microsoft Edge"></option>
</datalist>

Datums- und Zeittypen

Die Typen month, week, date, time und datetime-local können eine Schnittstelle anzeigen, die eine bequeme Auswahl von Datum und Uhrzeit ermöglicht. Vorgegebene Werte können dort angezeigt werden, sodass der Benutzer den Steuerwert schnell ausfüllen kann.

Hinweis: Wenn diese Typen nicht unterstützt werden, wird stattdessen ein grundlegender text Typ gerendert, der ein Textfeld erstellt. Dieses Feld erkennt empfohlene Werte korrekt und zeigt sie dem Benutzer in einem Dropdown-Menü an.

html
<input type="time" list="popularHours" />
<datalist id="popularHours">
  <option value="12:00"></option>
  <option value="13:00"></option>
  <option value="14:00"></option>
</datalist>

Bereichstyp

Die empfohlenen Werte im range Typ werden als Reihe von Strichmarken angezeigt, die der Benutzer leicht auswählen kann.

html
<label for="tick">Tip amount:</label>
<input type="range" list="tickmarks" min="0" max="100" id="tick" name="tick" />
<datalist id="tickmarks">
  <option value="0"></option>
  <option value="10"></option>
  <option value="20"></option>
  <option value="30"></option>
</datalist>

Farbtyp

Der color Typ kann vordefinierte Farben in einer vom Browser bereitgestellten Schnittstelle anzeigen.

html
<label for="colors">Pick a color (preferably a red tone):</label>
<input type="color" list="redColors" id="colors" />
<datalist id="redColors">
  <option value="#800000"></option>
  <option value="#8B0000"></option>
  <option value="#A52A2A"></option>
  <option value="#DC143C"></option>
</datalist>

Technische Zusammenfassung

Inhaltskategorien Fluss Inhalt, Satz Inhalt.
Zulässiger Inhalt Entweder Satz Inhalt oder null oder mehr <option> Elemente.
Tag-Auslassung Keine, sowohl das Start- als auch das End-Tag sind erforderlich.
Zulässige Eltern Jedes Element, das Satz Inhalt akzeptiert.
Implizierte ARIA-Rolle Listbox
Zulässige ARIA-Rollen Keine role erlaubt
DOM-Schnittstelle [`HTMLDataListElement`](/de/docs/Web/API/HTMLDataListElement)

Spezifikationen

Specification
HTML
# the-datalist-element

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch