table, DOM interfaces, cell, heading, leader, trailer, header, footer, runner, TABLE, CAPTION, COLGROUP, COL, THEAD, TFOOT, TR, part of my review of 3.15 Tabular data

table, DOM interfaces, cell, heading, leader, trailer, header,  
footer, runner, TABLE, CAPTION, COLGROUP, COL, THEAD, TFOOT, TR,
part of my review of 3.15 Tabular data
  Re:<http://dev.w3.org/cvsweb/~checkout~/html5/spec/Overview.html? 
rev=1.78#tabular>

SUMMARY
--------------------------------
  • consider restoring heading related and other table cell  
attributes to HTML: @abbr, @headers, @scope, @axis,
  • consider adding lateral runners TLEAD, TTRAIL, TC (column)  
elements to the TABLE content model
  • consider adding a @kind attribute to the TD element to indicate  
whether the cell is a 'heading' cell, a 'summary' cell, or 'neither'.


HTML 4.01 table attributes
--------------------------------

To continue to allow authors the same level of expressiveness in  
creating tables, we need to add the HTML 4.01 table attributes to  
HTML5. Without these attributes, HTML5 would constitute a regress in  
terms of table semantics.

@headers, has been relied upon by authors and aural UAs to provide  
the information necessary to associate data cells and header cells.  
However, leaving such misuse aside (which we should deprecate even  
while retaining @headers in document conformance norms), the @headers  
attribute is an important attribute to associate data cells with  
header cells in more complex tables. In many cases @headers can  
provide a shortcut for associating cells when compared to @scope.

The @abbr  attribute provides functionality for HTML 4.01 conforming  
documents that cannot be achieved with an HTML5 conforming document.   
There may be an easier or better way to abbreviate headings  
(including having UAs rely on UA abbreviation dictionaries), however  
authors may still need to provide abbreviated headings when no such  
dictionary entry exists.

While the @scope attribute is included on the TH element in the  
current HTML5 draft, it has been removed from the TD element. The use  
of @scope on the TD element is important to be able to make a data  
cell behave as a heading for other data cells. The existence of a  
@scope attribute on a TD element indicates that the data cell  
contains a heading for other data cells. It may even be useful to  
allow an explicit value for  @scope of 'auto' or 'all' to indicate a  
data cell contains a heading, but should not have its scope reduced.

The @axis attribute allows authors to designate dimensions beyond the  
natural two dimensions available on a table. For some relatively  
complex data, the use of an axis can vastly simplify the visual  
presentation of  the data when compared to other approaches.

All of these attributes address well known use-cases as outlined in  
the HTML 4.01 recommendation [1]. It is important to start from use- 
cases and problem statements before proposing sweeping changes to the  
web like this. In order to remove these attributes it is therefore  
important for us to discuss the problem-statement that is being  
addressed by removing these attributes. In other words, what problem  
will removing something like @headers solve?

Lateral runners: TLEAD and TTRAIL
-----------------------------------------------

THEAD and TFOOT are intended as column global headings and column  
global summaries: appearing fixed and available for visual review  
while scrolling the table bodies. The rows currently offer no similar  
mechanism. To allow tables to work in a more symmetrical way,  
consider adding table leader (TLEAD ) and table trailer (TTRAIL)  
elements. These would be lateral runners and work in a similar way to  
the already existing top and bottom runners, THEAD and TFOOT.  
However, these elements would comprise columns rather than rows., so  
we should consider adding a content model too TLEAD and TTRAIL of one  
or more TC table column elements. The TC element content model would  
be the same as a TR. However, the arrangement of cells within the TC  
would be vertically stacked cells rather than horizontally arranged  
cells. The TTRAIL and TLEAD elements would constitute their own  
column groups: and would have the same number of rows (TD and TH  
cells) as the table body or table bodies taken together (or implied  
if the number of rows in the table exceeded the number of cell in the  
TLEAD or TTRAIL).

Table summary cell
--------------------------------

To provide a way of marking a cell as a table summary cell, consider  
adding an boolean attribute @summary. It may even be useful to add a  
@kind or @type attribute to TD cells to be able to mark them as  
either headings or summaries (i.e., kind=''heading' or  
kind='summary'). Setting a cell to be a summary cell would have a  
corresponding algorithm like the headers association algorithm but  
working in the opposite direction (up and to the left rather than  
down and to the right).

Summing up
--------------------------------

these proposals are to round out the expressiveness of tHTML. The  
newly proposed elements would be incompatible with existing UAs in  
the text/html serialization. They might be more likely to degrade  
gracefully within the XML serialization, ,however non-HTML5 UAs would  
not know how to present them. CSS also does not support the lateral  
runner concepts proposed in this review, so its table model would  
have to be updated to support those runners. However, CSS also needs  
enhancement to handle the existing THEAD and TFOOT runners, as  
authors may want to provide fixed THEAD and TFOOT with the main body  
of the table presented in a fixed frame with overflow and clip  
control through scrollers. I do not believe this level of control is  
available now with CSS or proposed with CSS3 even for the existing  
table runners. elements with scrolling table bodies. So adding  
lateral runner support to CSS could occur at the same time CSS is  
enhanced to support top and bottom runners.

[1]: HTML 4.01 Chapter 11: Tables <http://www.w3.org/TR/html4/struct/ 
tables.html#h-11.3.2.1>	

Received on Friday, 10 August 2007 07:32:08 UTC