- From: Robert Burns <rob@robburns.com>
- Date: Fri, 10 Aug 2007 02:31:59 -0500
- To: HTML WG <public-html@w3.org>
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