[html4all] On HTML4 tables in general
Robert J Burns
rob at robburns.com
Sun Aug 24 03:31:54 PDT 2008
On the issue of tables in general and Ian's desire to deprecate HTML4
table properties included:
• headers
* summary
• abbr
• axis
Axis has some uses, but Ian contends it is seldom if ever used (at
least correctly). I think axis too could be useful, but part of its
failure is that it takes comma separated strings rather than space
separated name. Taking space separated names would allow the axis
attribute to participate in CSS attribute selectors. Philip Taylor
(not retired) has suggested if axis is useful making a new attribute
would be better than changing axis to space separate names. I tend to
agree with that.
On the other hand scope I think has some ambiguity problems that ian
is uninterested in addressing. I've started a wiki page discussing
those problems[1]. In a nutshell I think the use of colgroup and
rowgroup is ill-advised since it can potentially create a header
association that completely conflicts with the visual association of
headers. Also I think simply having the keywords 'vertical',
'horizontal', and 'both' (default) in HTML5 would make for clearer
authoring and better reflect the automatic header association algorithm.
Finally, HTML5 goes further than HTML4 in deprecating some
presentational table attributes. While I'm generally in favor of
moving the presentational stuff to CSS, Im not sure CSS has adequately
addressed the use cases for these table attributes. Moreover, just as
HTML5 retains width and height attributes for embedded media (though
using CSS pixel units), the table presentational attributes are
likewise for tables that are inherently visual (as their used in
documents anyway).
Maintaining attributes within HTML for column width, vertical
alignment, horizontal alignment and makes sense to me. CSS (much from
Ian's insistence) has deprecated horizontal alignment on a string (as
of CSS 2.1 CR). The vertical alignment in HTML works differently than
vertical alignment in CSS. And the HTML width attribute also provides
valuable control of column widths not possible with CSS.
Finally, I have also written a wiki page on the need to enhance tables
and treat them as 2D structures rather than merely as one-dimensional
hierarchies as with other HTML structures[2]. Without treating tables
as 2d structures authors are forced to needless repeat attribute
values and tables are more cumbersome to edit with DOM APIs.
Take care,
Rob
[1]: <http://esw.w3.org/topic/HTML/TableHeaderCellScope>
[2]: <http://esw.w3.org/topic/HTML/TablesAs2DStructures>
More information about the List_HTML4all.org
mailing list