Der Martin: <label> funktioniert nicht über Tabellenelemente hinweg

Beitrag lesen

Hi,

Eigentlich würde ich aber die ganze Tabellenzeile mittels Label markieren

wenn es nur um die Beschriftung der Tabellenzeile geht, wäre ein th-Element für die erste Zelle geeignet, dort hinein darf dann auch wieder ein label-Element.

<table>
	<label for = "vorname">
	<tr>
		<th>  Vorname</th>
		<td><input type = 'text' id = 'vorname' name = 'vorname' placeholder = 'Ihr Vorname'></td>
	</tr>
	</label>
</table>

Das ist ungültiges HTML, denn table darf als Kinder nur tr, tbody, thead oder tfoot haben; label kann also nicht Kind von table sein. Darüber hinaus darf tr auch nicht Kind von label sein, sondern nur von table. Es ist also der Fehlerkorrektur des Browsers überlassen, was er aus dieser fehlerhaften Struktur macht.

Leider klappt der zweite Codeschnipsel nicht (zumindest nicht im IE). <label> scheint nicht über Tabellenelemente hinweg zu funktionieren.

Doch, label in einer Zelle und das damit verknüpfte Formularelement in einer anderen Zelle ist möglich und erlaubt. Aber das Intgerieren von Nicht-Tabellenelementen in die table-tr-th-Schachtelung geht nicht.

Hat jemand eine Idee, wie ich eine ganze Tabellenreihe labeln kann?

So, dass die ganze Zeile klick-sensitiv ist? Vermutlich gar nicht.

So long,
 Martin