molily: neuer Beitrag "Tipps&Tricks": DHTML/Fullrowselect

Beitrag lesen

Hallo, Robert.

Dürfen überhaupt zwei label-Elemente für ein Eingabefeld existieren...?

Also IMHO ist alles korrekt, aber bitte - es ist spät.

"Each LABEL element is associated with exactly one form control."
http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL

Ob das jetzt heißt, dass jedes label-Element mehrere for-Attribute haben kann (wäre durchaus möglich oder label="id1 id2 id3" ;)) oder tatsächlich mehrere label-Elemente mit gleichem for-Attributwert erlaubt sind, kapiere ich nicht komplett...

Das heißt: jedes einzelne Label kann nur zu einem einzigen Form-Element gehören (logisch, wenn ich auf das Label klicke, darf nur 1 Element darauf reagieren).

Dies alleine lässt natürlich noch nicht den Umkehrschluss zu, dass jedes Formularfeld genau ein Label haben darf, deshalb war ich mir unsicher. :)

Mehrere Attribute gleichen Namens in einem Element sind überhaupt nicht erlaubt, also auch nicht für das for-Attribut beim label-Element.

Deshalb war da auch ein ";)" hinter, das war mir bewusst, es ist, wie du gesagt, offensichtlich und logisch (genauso sinnfrei wäre id="foo bar baz" ;)).

Insbesondere heißt es sogar (http://www.w3.org/TR/html401/interact/forms.html#adef-for) - beachte den hier mit Sternchen markierten Satz:
The for attribute associates a label with another control explicitly: the value of the for attribute must be the same as the value of the id attribute of the associated control element. *******More than one LABEL may be associated with the same control by creating multiple references via the for attribute. *******

Ja, das hatte ich gelesen, soweit ich mich erinnere, mir aber wohl nicht vergegenwärtigt, sonst hätte ich diesen Satz zitiert... Danke für die Auflärung.

Womit das also explizit erlaubt ist.

Ich erachte es dennoch nicht als sinnvoll im Hinblick auf Barrierefreiheit. Im Beispiel kommt zusätzlich die Linearisierung von Tabellen hinzu, was die "Abwärtstransformierung" noch einmal erschwert, weshalb man ggf. mit th, scope oder headers arbeiten sollte. Mehrere Labels würde ich persönlich vermeiden, sofern es möglich ist.

Unter "Beachten Sie" fehlt, dass das label-Element nicht nur nicht im NS4 funktioniert, sondern ihn auch umgehen zum Crash veranlasst... insofern ist dann nichts mehr "voll funktionsfähig". ;)

Weder mein Netscape 4.71 noch mein 4.76 noch mein 4.78 stürzen bei Verwendung von Label ab. Sie beachten es einfach nicht, geben nur den Inhalt aus.

Wie gesagt: es kommt auf die Verwendung und die Seite an, in welcher das label-Element eingebettet ist (siehe Zitat von einfachfueralle.de). Hast du den Beispiellink probiert (http://reich-gym.de/ehem_anmeldung_form.php)? fieldset, legend und label und einige CSS-Formatierungen bringen 4.8 in jedem Fall zum sofortigen Crash.
(P.S. Ein Netscape 4.x ist mir *mehr* als genug, wozu hast du drei? :) Unterscheiden sie sich großartig?)

Grüße,
Mathias