tfoot は tbody の前に書いた方がいいよ | WWW WATCH
内容が間違ってるとは言い切れないけど、タイトルのせいで勘違いしている人がいるようなので一言。
「書いたほうがいい」じゃなくて「書かなくてはいけない」ね。そうしないと(X)HTMLとして間違ってるから。
以下HTML 4.01、XHTML 1.0、XHTML 1.1(XHTML Modularization)のDTD。
<!ELEMENT TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT table (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
<!ENTITY % table.content "( %caption.qname;?, ( %col.qname;* | %colgroup.qname;* ), (( %thead.qname;?, %tfoot.qname;?, %tbody.qname;+ ) | ( %tr.qname;+ )))" >
ちなみにPukiWikiは
|thead|h |tbody| |tfoot|f
と書いても
<div class="ie5"> <table class="style_table" cellspacing="1" border="0"> <thead><tr><td class="style_td">thead</td></tr></thead> <tfoot><tr><td class="style_td">tfoot</td></tr></tfoot> <tbody><tr><td class="style_td">tbody</td></tr></tbody> </table> </div>
と出力してくれる。(改行はこちらで入力)
見直してて気づいたけど、HTML 4.01/XHTML 1.0は
<table><thead>...</thead><tr>...</tr></table>
を許してる(tbodyが補われるかどうかの違いはあるけど)のに、XHTML 1.1はそうじゃないのね。