Ich frage mich, was der Unterschied zwischen den folgenden zwei Codefragmenten ist:
<label>Input here : </label>
<input type='text' name='theinput' id='theinput'/>
und
<label for='theinput'>Input here : </label>
<input type='text' name='theinput' id='theinput'/>
Ich bin sicher, dass es etwas bewirkt, wenn Sie eine spezielle JavaScript-Bibliothek verwenden, aber abgesehen davon, validiert es den HTML-Code oder ist es aus einem anderen Grund erforderlich?
select
der Fokus nur auf die Auswahl gelegt, anstatt die Optionen zu erweitern.Das
for
Attribut ordnet die Beschriftung einem Steuerelement zu, wie in der Beschreibunglabel
in der HTML 4.01-Spezifikation definiert. Dies impliziert unter anderem, dass daslabel
Element , wenn es den Fokus erhält (z. B. durch Klicken), den Fokus an das zugehörige Steuerelement weiterleitet. Die Zuordnung zwischen einem Etikett und einem Steuerelement kann auch von sprachbasierten Benutzeragenten verwendet werden, die dem Benutzer die Möglichkeit geben, beim Umgang mit einem Steuerelement zu fragen, was das zugeordnete Etikett ist. (Die Assoziation ist möglicherweise nicht so offensichtlich wie beim visuellen Rendern.)Im ersten Beispiel in der Frage (ohne das
for
) hat die Verwendung vonlabel
Markup keine logischen oder funktionalen Auswirkungen - es ist nutzlos, es sei denn, Sie tun etwas damit in CSS oder JavaScript.HTML-Spezifikationen machen es nicht zwingend erforderlich, Beschriftungen Steuerelementen zuzuordnen, Web Content Accessibility Guidelines (WCAG) 2.0 jedoch. Dies wird im technischen Dokument H44 beschrieben: Verwenden von Beschriftungselementen zum Zuordnen von Textbeschriftungen zu Formularsteuerelementen , in dem auch erklärt wird, dass die implizite Zuordnung (z. B. durch Verschachteln z. B.
input
innerhalblabel
) nicht so umfassend unterstützt wird wie die explizite Zuordnung überfor
undid
Attribute.quelle
Kurz gesagt, es bezieht sich auf
id
die Eingabe, das ist alles:quelle
Das for-Attribut des
<label>
Tags sollte gleich dem id-Attribut des zugehörigen Elements sein, um sie miteinander zu verbinden.quelle
Das Attribut for zeigt an, dass diese Bezeichnung für ein zugehöriges Eingabefeld oder ein Kontrollkästchen oder ein Optionsfeld oder ein anderes damit verbundenes Dateneingabefeld steht. zum Beispiel
quelle
Es kennzeichnet jede Eingabe, die der Parameter für das
for
Attribut ist.quelle