Re: headers attribute (was Re: Form elements)

2007/5/30, Patrick H. Lauke:
> Thomas Broyer wrote:
> > The point is that, as actually designed, HTML5 define *one* way of
> > processing HTML that is compatible with what browsers do today.
> ...
>  > HTML5, by design, tries to reduce browsers incompatibilities by
>  > standardizing their current behaviors. The goal is not to have "yet
>  > another standards mode".
> In that case, I wonder: why do we actually have the "headers attribute
> in tables" debate? Current screen readers (assuming that you generally
> meant "user agents" when saying "browsers") support them and use them.

On the other hand, it has been proven that:
 * headers= isn't used that much in the wild (so current AT –which
have been said to poorly support scope=, so I suppose they support
*only* headers= for data-cell/headers-cell associations– can't make
most tables as accessible as they could with the kind of heuristics
HTML5 provides; in other word, they're not really usable yet –as far
as I understood what was said on this list–, at least wrt table
 * when used, it's often broken (header= instead of headers=)

(oh, and by "browser" I meant "human-driven user agents", with any UI,
not only a *G*UI)

> Not including them in the spec would result in breakage - unless we're
> hoping that any heuristics that were defined to compensate for the
> removal of headers will still be able to silently extract the same
> information from the table while ignoring the headers themselves and
> treating them as invalid code?

Maybe it would need some more rules, e.g. a TH with no scope= in the
second column (resp. second row) is automatically affected a scope=row
(resp. scope=column) if the cell in the first column of the same row
(resp. the first row of the same column) is a TH with no scope= or
with scope=row (resp. scope=column).
That way, a table with e.g. two lines of TH column-headers (with the
first line having some cells spanning multiple columns) wouldn't need
scope= at all.

However, with such a rule, I wonder whether scope=row and scope=column
would be need then… 'cause I've never been shown a table so complex
that this would be needed.

Thomas Broyer

Received on Wednesday, 30 May 2007 18:58:23 UTC