W3C home > Mailing lists > Public > public-html@w3.org > September 2008

Re: function and impacts (was: @scope and @headers reform)

From: Ben Millard <cerbera@projectcerbera.com>
Date: Tue, 23 Sep 2008 09:46:21 +0100
Message-ID: <23ED31A8F70547859913B0EF9C36EDE9@ben9xr3up2lv7v>
To: "James Craig" <jcraig@apple.com>
Cc: "W3C WAI-XTECH" <wai-xtech@w3.org>, "HTMLWG" <public-html@w3.org>

James Craig wrote:
> In most regular table/grid cases, it may be a more productive effort  to 
> define the implicit scope for headers that do not have an explicit 
> author-defined association with cells.

Yes. That's what HTML4 did, although rather vaguely.

* <http://www.w3.org/TR/html4/struct/tables.html#idx-table-19>

Myself and several others devised a more robust and precise algorithmn 
called "Smart Headers". HTML5 currently has an algorithm which takes a 
similar approach to Smart Headers but makes some slightly different design 
choices:

* <http://lists.w3.org/Archives/Public/public-html/2008Mar/0075.html>
* 
<http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular.html#header-and-data-cell-semantics>

James Craig wrote:
> In most of the other edge cases @scope will suffice, [...]

Smart Headers is an almost total replacement for the scope attribute (at 
least, that's my vision for it). This lets nearly all tables currently seen 
as "edge cases" or "complex" be solved by using plain <th> for all the 
header cells.

James Craig wrote:
> [...] and in very rare cases, a more explicit association could be 
> achieved via @headers or @aria-labelledby.

I can't think of an advantage to aria-labelledby+id inside data tables over 
headers+id. The extra bytes, harder spelling and duplicating a decade-old 
feature which has already enjoyed some degree of implementation are obvious 
downsides:

<http://esw.w3.org/topic/HTML/TableHeadersTestingBug5822>


James Craig wrote:
> It is my understanding that @headers, while valuable, is almost never 
> used. Like the long-term longdesc testing, has there been any attempt  to 
> determine where and how often @headers is used?

Yes on both counts. Search the Public-HTML archives and you'll find it. 
Specifically, for headers+id:

<http://lists.w3.org/Archives/Public/public-html/2008Mar/0215.html>

For tables in general, I have a collection here:

<http://projectcerbera.com/web/study/2007/tables/>


James Craig wrote:
> In most cases where @headers is necessary, the author would do better  to 
> change the information architecture of the table into a more 
> understandable form, instead of "accessifying" an already overly  complex 
> table grid.

I agree and detailed this at length in a nearby thread:

* 
<http://lists.w3.org/Archives/Public/public-html/2008Aug/thread.html#msg929>
* 
<http://lists.w3.org/Archives/Public/public-html/2008Sep/thread.html#msg163>

James Craig wrote:
> Although the section does not explicitly mention tables, this is in line 
> with the WCAG 1.0 recommendation to convey information as simply as 
> possible. In other words, if an HTML table is too complex for @scope, it's 
> probably also too complex for non-disabled viewers to decipher it easily, 
> even without assistive technology.

Well said. :-)  Better design is better wherever it is possible.

James Craig wrote:
> Headers associated through scope (implicit or explicit) should be 
> cumulative, but if an author has explicitly defined @headers, that 
> specific association should cancel @scope.

This is an observation shared by Simon Pieters from some time last year. 
James Graham implemented it as a per-cell step in his Smart Headers 
prototype, also last year:

<http://james.html5.org/tables/table_inspector.html>

There has been a lot of work into data tables already. :-)

-- 
Ben 'Cerbera' Millard
<http://projectcerbera.com/web/study/> 
Received on Tuesday, 23 September 2008 08:48:26 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 May 2012 00:16:23 GMT