Hi Joachim,
die Frage ist nicht, was macht input. Die Frage ist: "was macht label?":
When a LABEL element receives focus, it passes the focus on to its associated control.
Ok stimmt, im Sinne dieser Aktivierungssache durch Klicken ist das ein Unterschied, da hast Du Recht.
Aber für das Klicken hab ich mich auch ursprünglich gar nicht interessiert, denn der funktionale Gewinn durch ein anklickbares "Geschlecht:" ist natürlich eher gering....
Es geht mir einzig und allein um HTML-Logik.
Der Radio-Butten ist in der "Formularlogik", wie ich es geschrieben habe, ein einziges Feld, und damit meine ich auf HTTP-Ebene. Er sendet einen Wert, der zu dem dazugehörigen Namen gehört. Und Labels strukturieren (in allen anderen Fällen) ein HTML-Formular dahingehend, dass sie beschreiben, was die einzelnen Werte beschreiben sollen.
Jetzt kann man natürlich argumentieren, dass man den Namen des Objektes so setzen kann, dass er den Wert beschreibt, aber das ist nicht Sinn der Sache (denn es kann je nach verarbeitender Software z.B. auch sinnvoll sein, Formularelemente mit "e1", "e2", ..... oder so zu benennen).
In der Darstellung ist natürlich trotzdem alles prima und mich stört es auch nicht, dass das Anklicken nichts bewirkt. Es geht nur um Formalismus.
SelfHTML sagt zum Thema Labels:
"Für Formularelemente wie Eingabefelder oder Auswahllisten gibt es normalerweise keine logische Beschriftungsmöglichkeit. Sie können zwar Text vor ein solches Element setzen wie "E-Mail-Adresse:", aber ein solcher Text ist normaler HTML-Text, der keinen definierten Bezug zu dem Element hat, für das er als Beschriftung dient. Mit Hilfe von Labels können Sie jedoch einen solchen logischen Bezug zwischen Formularelement und Beschriftungstext herstellen."
Und genau das wollte ich erreichen mit meinem Text "Geschlecht:" und den Radio-Buttons. In meinem HTML-Dokument steht nirgendwo, und ich meine wirklich nirgendwo (auf HTML-Niveau), dass der Wert des Radio-Buttons das Geschlecht bezeichnet.
Jeder, der der Meinung ist, dass eine Überschrift in "<hx>" stehen sollte und nicht in einem "<div style = "....">", wird wahrscheinlich auch diese Frage, die von ähnlicher Kategorie ist, verstehen, oder nicht?
Viele Grüße
der Bademeister