nam: html-tabelle

Beitrag lesen

Morgen Gunnar

'tr' darf auch direkt in 'table' stehen.

Nein, nicht in HTML 4.01.

Äh – doch. Entweder ich kann kein Englisch oder die Recommendation ist fehlerhaft oder wir sprechen nicht vom selben oder du liegst (diesmal) falsch.

Also; wenn ich schreibe: «'tr' darf auch direkt in 'table' stehen» dann spreche ich vom geschriebenen HTML-Code. Die Frage des OP bezog sich ja auch auf den Quelltext (siehe Titel) und nicht auf dessen Interpretation und Umwandlung in ein DOM durch einen UA.

Offenbar liegt da das Missverständnis. Wir haben also nicht vom gleichen gesprochen.

Gruppen??

Ja Gruppen: «11.2.3 Row groups: the THEAD, TFOOT, and TBODY elements»

Ein 'table'-Element muss keine 'thead'- und 'tfoot'-Elemente enthalten; aber mindestens ein 'tbody'-Element.
Dessen Start-Tags und End-Tags sind optional.
Dennoch ist bei '<table><tr><td>foo</td></tr></table>' ein 'tbody'-Element vorhanden.

Wieso «dennoch»? Wenn ein Tag optional ist, dann ergänzt diese der Browser. Also ist da nichts besonderes daran.
Wenn sie optional sind, müssen sie nicht geschrieben werden und wenn ich nicht muss, schreibe ich die auch nicht, weil sie IMHO keinen Mehrwert bringen.
Ausnahme: ich verwende auch thead und/oder tfoot, dann ist der tbody-Tag zwecks besserer Lesbarkeit wieder sinnvoll.
Die Gefahr besteht allerdings, dass man dann beim Ansprechen der Tabellenzeilen via DOM/Javascript das tbody-Element vergisst.

Gruss,
Mathias