- From: Jeni Tennison <jft@Psychology.Nottingham.AC.UK>
- Date: Thu, 14 Aug 1997 17:57:18 +0100
- To: www-html@w3.org
This email proposes the addition of COLHEAD and COLFOOT elements, which, like COLGROUP, contain COLs, and, like THEAD and TFOOT, can be kept static when scrolling or repeat over pages when the width of the table is large. I haven't been able to find any other similar suggestions, though I haven't looked into the specifications of tables in other languages: this is just something that struck me as I was reading the HTML4.0 Working Draft. I also have no idea how feasible this would be to program, or whether it would be worthwhile. But enough disclaimers... The purpose of THEAD & TFOOT is, in my understanding, to allow large tables to be rendered as scrollable sections on the page, with the rows within THEAD and TFOOT displayed constantly at the top and bottom of the table. Within the body of the table, rows can be divided into groups using TBODY and columns into similar ones through COLGROUP. This is fine for *long* tables, but what about *wide* tables? I'm thinking about situations such as experimental subject data, where there are large numbers of variables for each subject, or situations where the screen is too small to accommodate the entire width of a table, even at its mininum width. It would seem sensible to have similar constructs to THEAD & TFOOT for columns. Let's call them COLHEAD and COLFOOT for now. [maybe a simpler naming system would have ROWHEAD, ROWFOOT and ROWGROUP instead of THEAD, TFOOT and TBODY? Or use TLEFT and TRIGHT instead of COLHEAD and COLFOOT?] Basically, COLHEAD and COLFOOT would act in exactly the same way as COLGROUP does currently, defining a number of columns and their relative widths and specifying alignments for those columns to inherit. The only difference is that, as with THEAD and TFOOT, they should not scroll when the table is scrolled horizontally. The TABLE element would then have the definition: <!ELEMENT TABLE - - (CAPTION?, (COL* | (COLHEAD?, COLFOOT?, COLGROUP*)), THEAD?, TFOOT?, TBODY+)> COLHEAD and COLFOOT would have the definitions: <!ELEMENT COLHEAD - 0 (COL*)> <!ELEMENT COLFOOT - 0 (COL*)> <!ATTLIST (COLHEAD|COLFOOT) %attrs; span NUMBER 1 -- default number of columns in head -- width CDATA #IMPLIED -- default width for enclosed COLs -- %cellhalign; -- horizontal alignment in cells -- %cellvalign; -- vertical alignment in cells -- > If both COLHEAD and THEAD are defined within a TABLE, the top right cell (which may span more than one column or row, depending on the number of COLs defined within the COLHEAD and how many TRs defined within the THEAD) is always static. Similarly if other pairs (COLHEAD & TFOOT, COLFOOT & THEAD, COLFOOT & TFOOT) are defined, other corners of the table would hold static cells. The renderer would first assign space to the COLHEAD and COLFOOT columns, before assigning the remaining horizontal space to the rest of the columns. If the COLHEAD and COLFOOT together gave a width that was wider than the screen, this should be dealt with as it would deal with THEAD and TFOOT being taller than the screen height (however that is?!). What do y'all think? Jeni Jeni Tennison Department of Psychology, University of Nottingham University Park, Nottingham NG7 2RD, UK tel: +44 (0) 115 951 5151 x8352 fax: +44 (0) 115 951 5361 url: http://www.psychology.nottingham.ac.uk/staff/Jenifer.Tennison/
Received on Thursday, 14 August 1997 12:57:48 UTC