Ist das Attribut “for” im HTML-Label erforderlich, wenn die Zieleingabe innerhalb des Labels verschachtelt ist?

Lesezeit: 3 Minuten

Benutzer-Avatar
Raapwerk

Mir ist aufgefallen, dass ein HTML-Label-Tag das Attribut „for“ nicht benötigt, wenn Sie Ihr Eingabeelement in das Label-Element einfügen:

<label><input type="text">Last name</label>

Aber ich habe mich gefragt, was die beste Praxis ist. Kann mir da jemand helfen?

Vielen Dank!

  • Wie WebMonster sagte, ist es in Ordnung, es auf Ihre Weise zu tun. Halten Sie einfach Ihre Verwendung im gesamten Code konsistent.

    – WWW

    4. Januar 2012 um 12:26 Uhr

  • Das ist mir heute aufgefallen Die Bootstrap-Dokumentation verwendet beide in derselben Form. Es scheint, dass die for Attribut ist beabsichtigt nur wenn Sie können oder wollen das nicht setzen <input> innerhalb der <label> selbst, und jeder Ansatz ist akzeptabel.

    – Brandstifter

    22. Oktober 2013 um 16:37 Uhr


Benutzer-Avatar
Krabbeneimer

Es wird für die Barrierefreiheit für Screenreader und dergleichen verwendet, dh

use_the_label_element_to_make_your_html_forms_accessible

Sie sollten es also verwenden. Und hier ist ein Verknüpfung um Sie von der Bedeutung der Barrierefreiheit zu überzeugen.

Und hier ist eine kleine Geschichte – Ihre Website barrierefrei zu machen, kann allen Benutzern zugute kommen – ich war immer erstaunt, wie viel Mühe sich die Behörden für die Zugänglichkeit für Rollstuhlfahrer genommen haben, bis ich eine Tochter hatte und einen Kinderwagen benutzte. Ich denke, Websites folgen der gleichen Regel – alle profitieren davon.

Entschuldigung für die Polemik

  • Äh, zu viel Arbeit. Bringen Sie zuerst Ihre Website zum Laufen und fügen Sie dann, wenn Sie freie Zeit haben, alle Barrierefreiheits-Sachen hinzu.

    – Kein Name

    2. November 2020 um 15:51 Uhr

Benutzer-Avatar
WebMonster

Beide W3 HTML 5.2-Standard und die WhatWG Lebensstandard Zustand (fast exakt, Zitat stammt aus letzterem):

Das for-Attribut kann angegeben werden, um ein Formularsteuerelement anzugeben, dem die Beschriftung zugeordnet werden soll. Wenn das Attribut angegeben ist, muss der Wert des Attributs die ID eines beschriftbaren Elements im selben Baum wie das Beschriftungselement sein. Wenn das Attribut angegeben ist und es ein Element im Baum gibt, dessen ID gleich dem Wert des for-Attributs ist, und das erste derartige Element in der Baumreihenfolge ein beschriftbares Element ist, dann ist dieses Element das beschriftete Steuerelement des Beschriftungselements.

Es ist also in Ordnung, es so zu verwenden, um dem HTML-Standard zu folgen.

Benutzer-Avatar
Jonathan Sayce

Das for-Attribut macht bei einer Texteingabe keinen großen Unterschied, ist aber bei einer Checkbox-Eingabe sehr nützlich, da es Benutzern ermöglicht, sowohl auf das Label als auch auf die Checkbox selbst zu klicken:

<label for="chk">Checkbox</label><input type="checkbox" id="chk" />

  • Ein Eingabe-Tag kann sich innerhalb eines Labels befinden. Sehen dev.w3.org/html5/spec-LC/…

    – Sarath S. Menon

    28. Januar 2020 um 9:06 Uhr

  • Danke @SarathSMenon – ich habe diesen Teil entfernt

    – Jonathan Sayce

    30. Januar 2020 um 11:49 Uhr

Sie können die einbeziehen input in deiner label und es ist mit dem verbunden labeloder wenn Sie aus irgendeinem Grund Ihre haben müssen label Element an anderer Stelle im DOM, können Sie seine Bedeutung mit dem angeben for Attribut. Es schadet nie, die zu verwenden forAttribut aber so oder so 🙂

1157730cookie-checkIst das Attribut “for” im HTML-Label erforderlich, wenn die Zieleingabe innerhalb des Labels verschachtelt ist?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy