Purpose of THEAD, TFOOT and TBODY?

E. Stephen Mack (estephen@emf.net)
Thu, 10 Jul 1997 12:52:05 -0700

Message-Id: <>
Date: Thu, 10 Jul 1997 12:52:05 -0700
To: www-html@w3.org
From: "E. Stephen Mack" <estephen@emf.net>
Subject: Purpose of THEAD, TFOOT and TBODY?

In studying tables.html in the 4.0 draft, I fail to understand the purpose
of THEAD, TFOOT, and TBODY.  There is no information at all on what a user
agent is supposed to do with these elements or what their
semantic value is.

Is the only purpose of these elements to provide a convenient place to 
hang the %cellhalign and %cellvalign for a group of rows and/or apply
group-based rules for borders?  If so, only TBODY is needed.  There
does not seem to be any distinction at all between THEAD and TBODY.
(Also, since there is COLGROUP, why not call this "ROWGROUP"?)

If TFOOT is to be rendered at the bottom of a table, the HTML 4.0
draft spec doesn't say why this is useful, or whether user agents
should treat it any differently than a TR put as the last row.  (IE
4.0 platform preview 1 does put the TFOOT at the bottom, but
Navigator 4.01 does not.)

Are THEAD and TFOOT to be repeated (rerendered) by a user agent for
each subsequent TBODY that doesn't specify a THEAD/TFOOT of its own?

Why doesn't THEAD allow a nested TFOOT so that the same TR can be
nested within both, and serve as both a header and footer?

Here is what the spec does say:

THEAD, TFOOT and TBODY are defined as groups of rows; if there is only 
one TBODY and no THEAD or TFOOT, then the <TBODY> and </TBODY> tags
are optional.  All tables contain at least one group, but since THEAD
and TFOOT are optional groups, there is an implied TBODY even if no
<TBODY>, <THEAD> or <TFOOT> tags actually present.  The only content
for each of these elements is TR.  TFOOT must appear before TBODY if
it is present.  More than one of these row groups may appear (and the
example shows two TBODY elements).

But that's it.  No rendering hints, semantic value, nothing. Should
user agents make any distinction between different a THEAD and
TBODY, or between TBODY groups if there are no group-rules?

The notes section (notes.html#notes-tables) doesn't provide any 
enlightenment on these three ELEMENTS either.

I'm puzzled.

Is it simply that some table models have header-rows and footer-rows,
and we wish to allow those table models to be easily converted to
the HTML 4.0 table model?
E. Stephen Mack <estephen@emf.net>          http://www.emf.net/~estephen/