molily: <th> oder <thead>

Beitrag lesen

Hallo Gunnar,

[thead/tbody]

Wenn eine Tabelle derart unterteilt wird, dann: thead, tfoot, tbody in dieser Reihenfolge. Alle drei sind dann erforderlich

Nein, das ist von Selfhtml verbreiteter Unsinn. Bitte schau im Standard nach oder im Archiv, bspw. </archiv/2003/6/50259/#m275232> und </archiv/2002/12/33387/#m181640>. Mein Beispiel ist nicht nur in DTD-Hinsicht valide, sondern entspricht auch dem Standard in Belangen, welche nicht über die DTD ausdrückbar sind - und das wären meines Wissens solche wie »wenn thead auftritt, muss auch tfoot direkt danach auftreten«. Im Standard (http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3) steht aber nichts davon. Alleinig missverstehen könnte man:

| The start tags for THEAD and TFOOT are required when the table head and foot sections are present respectively, but the corresponding end tags may always be safely omitted.

»Respectively« heißt hier »jeweils« im Sinn von: »Wenn eine Tabellenkopf vorhanden ist, ist der THEAD-Starttag obligatorisch, der Endtag kann aber weggelassen werden. Wenn ein Tabellenfuß vorhanden ist, ist der TFOOT-Starttag obligatorisch, der Endtag kann aber weggelassen werden.« - Das heißt nicht, dass THEAD und TFOOT gleichzeitig verwendet werden müssen, die beiden Sätze wurden einfach zusammengeführt, weil diesbezüglich für beide Elemente dasselbe gilt.

(können aber leer sein)
Zwischen </thead> und <tbody> muss <tfoot></tfoot> stehen:

Nein.

| When present, each THEAD, TFOOT, and TBODY contains a row group. Each row group must contain at least one row, defined by the TR element.

<!ELEMENT THEAD    - O (TR)+           -- table header -->
                           ^
<!ELEMENT TFOOT    - O (TR)+           -- table footer -->
                           ^
<!ELEMENT TBODY    O O (TR)+           -- table body -->
                           ^

Das heißt, jeweils mindestens ein tr-Element. (Das tr-Element darf übrigens auch nicht leer bleiben.)

<tfoot></tfoot> kreidet der Validator auch an.

Grüße,
Mathias