Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

required HTML-Attribut

Das Boolean required Attribut, wenn vorhanden, gibt an, dass der Benutzer einen Wert für die Eingabe angeben muss, bevor das zugehö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 <select> und <textarea> Formularelementen 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 range und color Eingabetypen nicht unterstützt und ist nicht relevant, da beide Standardwerte haben. Typ color hat standardmäßig den Wert #000000. Typ range hat standardmäßig den Mittelwert zwischen min und max — wobei min und max standardmäßig auf 0 bzw. 100 in den meisten Browsern eingestellt sind, wenn sie nicht deklariert werden. required wird auch nicht auf den hidden Eingabetyp unterstützt — Benutzer können nicht erwartet werden, ein verstecktes Formularfeld auszufüllen. Schließlich wird required nicht bei irgendeinem Button-Eingabetyp unterstützt, einschließlich image.

Im Fall einer gleichnamigen Gruppe von radio Knöpfen, wenn ein einzelner Radiobutton in der Gruppe das required Attribut hat, muss ein Radiobutton in dieser Gruppe ausgewählt sein, obwohl es nicht der sein muss, auf dem das Attribut angewendet wurde. Um die Wartung des Codes zu verbessern, wird empfohlen, entweder das required Attribut in jedem gleichnamigen Radiobutton der Gruppe einzuschließen oder es bei keinem.

Im Fall einer gleichnamigen Gruppe von checkbox Eingabetypen sind nur die Checkboxen mit dem required Attribut erforderlich.

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

Beschreibung

Attribut-Interaktionen

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

Benutzbarkeit

Beim Einschließen des required Attributs sollte in der Nähe der Steuerung eine sichtbare Anzeige bereitgestellt werden, die dem Benutzer mitteilt, dass die <input>, <select> oder <textarea> erforderlich ist. Zusätzlich sollten erforderliche Formularelemente mit der :required Pseudoklasse angesprochen werden, indem sie auf eine Weise gestaltet werden, die zeigt, dass sie erforderlich sind. Dies verbessert die Benutzbarkeit für sehende Benutzer. Assistive Technologie sollte den Benutzer informieren, dass das Formularelement basierend auf dem erforderlichen Attribut obligatorisch ist. Das Hinzufügen von aria-required="true" kann jedoch nicht schaden, falls die Kombination aus Browser / Screenreader required noch nicht unterstützt.

Validierung von Einschränkungen

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

Barrierefreiheitsbedenken

Bieten Sie den Benutzern eine Anzeige, die ihnen mitteilt, dass das Formularelement erforderlich ist. Stellen Sie sicher, dass die Nachricht facettenreich ist, beispielsweise durch Text, Farbe, Markierungen und Attribute, sodass alle Benutzer die Anforderungen verstehen, egal ob sie farbenblind sind, kognitive Unterschiede haben 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

Spezifikation
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