HTML-Attribut: required

Das Boolean required-Attribut gibt, wenn vorhanden, an, dass der Benutzer einen Wert für das Eingabefeld angeben muss, bevor das dazugehörige Formular abgeschickt werden kann.

Das required-Attribut wird von den text, search, url, tel, email, password, date, month, week, time, datetime-local, number, checkbox, radio, file, <input>-Typen sowie den Formularsteuerelementen <select> und <textarea> unterstützt. Wenn es bei einem dieser Eingabetypen und Elemente vorhanden ist, wird die :required-Pseudoklasse übereinstimmen. Wenn das Attribut nicht enthalten ist, wird die :optional-Pseudoklasse übereinstimmen.

Das Attribut wird bei den Eingabetypen range und color nicht unterstützt oder ist nicht relevant, da beide Standardwerte haben. Der Typ color hat standardmäßig #000000. Der Typ range hat standardmäßig den Mittelwert zwischen min und max — wobei min und max in den meisten Browsern standardmäßig 0 und 100 sind, wenn sie nicht deklariert sind. required wird auch beim Eingabetyp hidden nicht unterstützt — Benutzer können nicht erwartet werden, ein verstecktes Formularfeld auszufüllen. Schließlich wird required bei keinem Button-Eingabetyp unterstützt, einschließlich image.

Im Fall einer gleichnamigen Gruppe von radio-Buttons muss, wenn ein einzelner Radio-Button in der Gruppe das required-Attribut hat, ein Radio-Button in dieser Gruppe ausgewählt werden, obwohl es nicht unbedingt derjenige sein muss, auf den das Attribut angewendet wird. Um die Wartung des Codes zu verbessern, wird empfohlen, entweder das required-Attribut in jedem gleichnamigen Radio-Button in der Gruppe aufzunehmen oder es in keinem.

Im Fall einer gleichnamigen Gruppe von checkbox-Eingabetypen sind nur die Kontrollkästchen mit dem required-Attribut erforderlich.

Hinweis: Die Einstellung von aria-required="true" teilt einem Screenreader mit, dass ein Element (jedes Element) erforderlich ist, hat jedoch keinen Einfluss auf die Optionalität des Elements.

Attributinteraktionen

Da ein schreibgeschütztes Feld nicht geändert werden kann, hat required keine Auswirkung auf Eingaben, bei denen auch das readonly-Attribut angegeben ist.

Benutzerfreundlichkeit

Wenn Sie das required-Attribut einschließen, sollten Sie eine sichtbare Anzeige in der Nähe der Steuerung bereitstellen, die den Benutzer darüber informiert, dass das <input>, <select> oder <textarea> erforderlich ist. Zusätzlich sollten erforderliche Formulareingaben mit der :required-Pseudoklasse gezielt angesprochen und so gestaltet werden, dass sie als erforderlich erkennbar sind. Dies verbessert die Benutzerfreundlichkeit für sehende Benutzer. Unterstützende Technologie sollte den Benutzer aufgrund des required-Attributs darauf hinweisen, dass die Formulareingabe obligatorisch ist. Das Hinzufügen von aria-required="true" schadet jedoch nicht, falls die Kombination aus Browser und Screenreader required noch nicht unterstützt.

Einschränkungsvalidierung

Wenn das Element erforderlich ist und der Wert des Elements der leere String ist, leidet das Element unter valueMissing, und das Element wird mit der :invalid-Pseudoklasse übereinstimmen.

Barrierefreiheit

Stellen Sie den Benutzern einen Hinweis bereit, der sie darüber informiert, dass die Formulareingabe erforderlich ist. Sorgen Sie dafür, dass die Nachrichten vielfältig sind, z. B. durch Text, Farbe, Markierungen und Attribut, damit alle Benutzer die Anforderungen verstehen, egal ob sie an Farbblindheit, kognitiven Unterschieden leiden oder einen Screenreader verwenden.

Beispiel

HTML

html
<form>
  <div class="group">
    <input type="text" />
    <label>Normal</label>
  </div>
  <div class="group">
    <input type="text" required />
    <label>Required</label>
  </div>
  <input type="submit" />
</form>

Ergebnis

Spezifikationen

Specification
HTML
# attr-input-required
HTML
# attr-select-required
HTML
# attr-textarea-required

Browser-Kompatibilität

html.elements.input.required

html.elements.select.required

html.elements.textarea.required

Siehe auch