On Mon, 15 Sep 2003 19:35:47 +0200, Schneelocke wikipedia-l@gl00on.net gave utterance to the following:
Is there a special function for <th> anyway, or is it just the visual difference?
Please note there are two ways of specifying the table headers: TH cells (in which case you must specify a scope attribute) and the THEAD row group. The THEAD and TBODY groups are mandatory in HTML 4.x strict IIRC [...]
In XHTML 1.1 at least, thead, tfoot and tbody are optional [1]. In HTML 4.01, it seems to me that tbody at least is required, while thead and tfoot are optional [2].
http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_tablemodul... 2. http://www.w3.org/TR/html4/sgml/dtd.html
There is no validation error from absence of TBODY, which is fortunate given that 99.999% of tables on HTML 4 pages do not include it. I think its status is IMPLIED.
TFOOT is a dangerous element to use. It must appear in the source before TBODY, but in non-supporting browsers (of which there are a number in common use) that means that your footer rows will appear at the top of your table rather than the bottom (one of the few instances where a new HTML element does not degrade gracefully).
As for the recomemndation to use the scope and headers attributes, there isn't one browser which supports them yet. They are a nice theory, but no practical use.
I would opt for a means of generating TH - which must be available on any cell (I have tables with headers on the left, or a smaller subsection in one corner.