<select>

Zuletzt aktualisiert am 3. Februar 2026

Das <select>-Element erstellt ein Dropdown-Auswahlfeld in Formularen, aus dem Nutzer eine oder mehrere Optionen auswählen können. Es gehört zu den wichtigsten interaktiven Formular-Elementen und wird überall dort eingesetzt, wo aus mehreren vordefinierten Werten gewählt werden soll, von einfachen Länderauswahlen bis hin zu komplexen Filtermenüs. Im Gegensatz zu Radio-Buttons benötigt es deutlich weniger Platz und eignet sich besonders gut für Listen mit vielen Optionen.

Grundlagen

Das <select>-Element funktioniert immer in Kombination mit mindestens einem <option>-Element, das die auswählbaren Werte definiert. Standardmäßig kann nur eine Option ausgewählt werden, aber mit dem multiple-Attribut lässt sich auch eine Mehrfachauswahl ermöglichen. Die ausgewählten Werte werden beim Absenden des Formulars an den Server übertragen.

Ein großer Vorteil von Select-Feldern ist die Möglichkeit, Optionen mit <optgroup> zu gruppieren. Das verbessert die Übersichtlichkeit enorm, wenn du viele Auswahlmöglichkeiten hast, beispielsweise bei der Auswahl von Städten, die nach Ländern gruppiert sind.

Syntax

Grundsyntax
<label for="city">Stadt wählen:</label>
<select id="city" name="city">
  <option value="">-- Bitte wählen --</option>
  <option value="berlin">Berlin</option>
  <option value="munich">München</option>
  <option value="hamburg">Hamburg</option>
</select>
Vorschau

Attribute

Attribut Typ Beschreibung Beispiel
name String Name des Feldes, unter dem der Wert beim Formular-Submit übertragen wird name="country"
multiple Boolean Erlaubt die Auswahl mehrerer Optionen gleichzeitig (mit Strg/Cmd + Klick) multiple
size Number Anzahl der gleichzeitig sichtbaren Optionen (verwandelt Dropdown in scrollbare Liste) size="5"
required Boolean Macht die Auswahl zu einem Pflichtfeld (verhindert Submit ohne Auswahl) required
disabled Boolean Deaktiviert das gesamte Select-Feld (Wert wird nicht übertragen) disabled
form String ID des zugehörigen Formulars (ermöglicht Select außerhalb des form-Elements) form="myForm"
autocomplete String Gibt dem Browser Hinweise zum Autofill-Verhalten autocomplete="country"

Beispiele

Einfache Auswahl

Das klassische Dropdown-Menü mit einer einfachen Auswahl. Beachte die leere erste Option als Platzhalter.

Einfache Auswahl
<form>
  <label for="language">Bevorzugte Programmiersprache:</label>
  <select id="language" name="language" required>
    <option value="">-- Bitte wählen --</option>
    <option value="javascript">JavaScript</option>
    <option value="python">Python</option>
    <option value="java">Java</option>
    <option value="csharp">C#</option>
    <option value="php">PHP</option>
  </select>
</form>
Vorschau

Gruppierte Optionen mit optgroup

Bei vielen Optionen sorgen Gruppen für bessere Übersichtlichkeit. Besonders nützlich bei geografischen oder kategoriebezogenen Daten.

Gruppierte Optionen
<form>
  <label for="destination">Reiseziel wählen:</label>
  <select id="destination" name="destination">
    <option value="">-- Bitte wählen --</option>
    <optgroup label="Europa">
      <option value="berlin">Berlin</option>
      <option value="paris">Paris</option>
      <option value="london">London</option>
    </optgroup>
    <optgroup label="Asien">
      <option value="tokyo">Tokyo</option>
      <option value="bangkok">Bangkok</option>
      <option value="singapore">Singapur</option>
    </optgroup>
    <optgroup label="Amerika">
      <option value="new-york">New York</option>
      <option value="san-francisco">San Francisco</option>
      <option value="toronto">Toronto</option>
    </optgroup>
  </select>
</form>
Vorschau

Multiple-Select

Mit dem multiple-Attribut können Nutzer mehrere Werte gleichzeitig auswählen. Das Attribut size macht mehrere Optionen direkt sichtbar.

Mehrfachauswahl
<form>
  <label for="skills">Deine Skills (mehrere möglich):</label>
  <select id="skills" name="skills" multiple size="6">
    <option value="html">HTML</option>
    <option value="css">CSS</option>
    <option value="javascript">JavaScript</option>
    <option value="react">React</option>
    <option value="node">Node.js</option>
    <option value="python">Python</option>
  </select>
  <p>Halte Strg (Windows) oder Cmd (Mac) gedrückt für Mehrfachauswahl</p>
</form>
Vorschau

Barrierefreiheit

Für barrierefreie Select-Felder ist ein zugeordnetes <label>-Element mit passendem for-Attribut absolut notwendig. Screenreader lesen dann beim Fokussieren des Feldes automatisch das Label vor. Wenn du zusätzliche Hinweise geben willst, nutze aria-describedby, um auf einen Hilfetext zu verweisen.

Die Tastaturnavigation funktioniert bei Select-Feldern standardmäßig gut: Mit Tab kannst du das Feld fokussieren, mit Enter oder Leertaste öffnest du das Dropdown, mit den Pfeiltasten navigierst du durch die Optionen und mit Enter bestätigst du die Auswahl. Bei Multiple-Selects kannst du mit Shift + Pfeiltasten mehrere Optionen markieren.

Vermeide zu viele Optionen ohne Gruppierung: das macht die Navigation mit Screenreadern mühsam. Ab etwa 10 Optionen solltest du über <optgroup> nachdenken oder alternative UI-Patterns wie eine Suche in Betracht ziehen.

Häufige Fehler

Fehlender Default-Placeholder: Viele vergessen eine erste leere Option mit einem Platzhalter-Text wie ”— Bitte wählen —”. Ohne diese Option ist beim Laden automatisch die erste echte Option ausgewählt, was oft ungewollt ist und zu Validierungsfehlern führen kann. Die Platzhalter-Option sollte immer value="" haben.

Select ohne Label: Ein Select-Feld ohne zugeordnetes Label ist für Screenreader-Nutzer völlig unverständlich. Das <label>-Element mit for-Attribut ist kein optionales Nice-to-have, sondern ein Muss für Barrierefreiheit. Auch wenn du das Label visuell versteckst, muss es im HTML vorhanden sein.

Zu viele Optionen ohne Gruppierung: Wenn du mehr als 15-20 Optionen hast, wird die Liste schnell unübersichtlich. Nutze <optgroup>, um zusammengehörige Optionen zu gruppieren. Bei sehr vielen Optionen (über 50) solltest du über alternative Lösungen wie ein Autocomplete-Feld nachdenken.

Multiple-Select ohne Hinweis: Wenn du multiple verwendest, wissen viele Nutzer nicht, dass sie Strg/Cmd gedrückt halten müssen, um mehrere Optionen zu wählen. Füge immer einen sichtbaren Hinweis hinzu oder verwende stattdessen Checkboxen, die intuitiver sind.

Browser-Kompatibilität

Das select-Element wird von allen Browsern vollständig unterstützt. Das Styling mit CSS ist eingeschränkt, aber die Funktionalität ist überall garantiert.

ClientUnterstützungHinweise
ChromeKomplett
FirefoxKomplett
SafariKomplett
EdgeKomplett
OperaKomplett

Email-Kompatibilität

Interaktive Formularelemente wie select werden von E-Mail-Clients aus Sicherheitsgründen nicht unterstützt.

ClientUnterstützungHinweise
Apple MailKeineEntfernt Formularelemente aus Sicherheitsgründen.
GmailKeineGmail entfernt select-Elemente komplett aus dem HTML.
OutlookKeineOutlook entfernt Formularelemente vollständig.
ThunderbirdKeineFormularelemente werden nicht unterstützt.
Yahoo MailKeineYahoo Mail entfernt Formular-Elemente aus dem HTML.

Verwandte Elemente

Bleib auf dem Laufenden

Erhalte neue Inhalte direkt in dein Postfach

Mit der Anmeldung akzeptierst du unsere Datenschutzerklärung. Du kannst dich jederzeit über den Link in den E-Mails wieder abmelden.

Was erwartet dich?

Neue Artikel & Videos

Wenn ich was Neues veröffentliche, erfährst du's hier zuerst.

Plattform & Kurs-Updates

Neue Kurse, Referenz-Updates und gelegentlich Sonderpreise zum Launch.

Einmal die Woche in deinem Postfach

Kurz, auf den Punkt, kein Spam.