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

Re: headers= and rowgroup

From: Leif Halvard Silli <lhs@malform.no>
Date: Fri, 14 Sep 2007 03:58:37 +0200
Message-ID: <dcb158e909cfae88363501937f2de866@10013.local>
To: "Thomas Broyer" <t.broyer@gmail.com>
Cc: public-html@w3.org

2007-09-13 23:23:50 +0200 "Thomas Broyer" <t.broyer@gmail.com> wrote:

> 2007/9/12, Leif Halvard Silli:
>> On 2007-09-12 16:53:27 +0200 "Anne van Kesteren"
>>> On Wed, 12 Sep 2007 16:39:50 +0200, Leif Halvard Silli
>>>> Please quote. I don't see anything that can be interpreted like that.
>>> 
>>> I quoted the definition of rowgroup before.
>> 
>> Irrelvant and out of context.
>> 
>> The context: Which text it is that allow you to say that @HEADERS
>> is augmentive in HTML4. Please quote. I don't see anything that can
>> be interpreted like that.
> 
> HTML4, §11.4.1 reads:
> For a given data cell, the headers attribute lists which cells provide
> pertinent header information. For this purpose, each header cell must
> be named using the id attribute. Note that it's not always possible to
> make a clean division of cells into headers or data. You should use
> the TD element for such cells together with the id or scope attributes
> as appropriate.
> For a given header cell, the scope attribute tells the user agent the
> data cells for which this header provides information. Authors may
> choose to use this attribute instead of headers according to which is
> more convenient; the two attributes fulfill the same function. The
> headers attribute is generally needed when headers are placed in
> irregular positions with respect to the data they apply to.
> 
> "You may use scope (on header cell) instead of headers (on data cell)"
> does not mean you can't use both; and the spec is silent on such a
> case.

Thanks for (generous) quote and explanation of your reading. There is not doubt that the spec doesn't discuss such a case. 

But still, since it has been claimed by Anne that the spec hints that @HEADERS is augmentative (and while waiting for quotes from the text to suppport that claim), we can apply logic to see if it would be in accordance with anything in spec to say that @HEADERS is agumentative. E.g. if we have these two rows,

<TR><TH ID=myhead>1<TD>2</TR>
<TR><TH SCOPE=row>3<TD HEADERS=myhead>4</TR>

then, if we were to expect that the header information which cell «3» propagates was added to the information from @HEADERS in cell «4» (so that cell «4» would have both cell «3» and cell «1» as headers), then we would contradict how @HEADERS is described other places, e.g. in section 11.4.3 («the basic algorithm»), where it is clearly said that

        If a header cell has the headers attribute set, then the headers
        referenced by this attribute are inserted into the list and the
        **search stops for the current direction**.

The «basic algorithmn» is actually what is *always* happening, when we use @HEADERS. It is just that when a cell has @HEADERS, then the search for header cells stops before it has even begun. We can use @HEADERS to *limit* - or portion - which header cells a cell has _for accessibility reasons_ - i.e. to not overwhelm the user with info. (While we in this group tend to be conserned about the opposite, it seems: how to associate as many headers as possible.). For instance, just read what HTML 4 says about @axis - there you will se a discussion about how to use @AXIS in order to not overwhelm uses with table information information. 

>> Below I present some TBODY-s with 4 cells in each. The «RGR» text
>> represents a header cell.  Please show me, by subtituting the "_" with
>> an "S", the effect which the SCOPE="rowgroup" is causing - according
>> to your reading of the HTML5 draft and HTML4:
>> 
>>         Showing <TH colspan=0 scope=rowgroup>RGR</TH>
>> HTML4:        HTML5:
>>  (1)    RGR          RGR
>>         _ _          _ _
>> 
>>         Showing <TH rowspan=0 scope=rowgroup>RG</TH>
>> HTML4:        HTML5:
>>  (2)    R _            R _
>>         G _            G _
>> 
>>         Showing <TH rowspan=1 scope=rowgroup>R</TH>
>> HTML4:        HTML5:
>>  (3)    R _            R _
>>         _ _            _ _
>> 
>>         Showing <TH colspan=1 scope=rowgroup>R</TH>
>> HTML4:        HTML5:
>>  (4)    R _            R _
>>         _ _            _ _
> 
> I'd replace *all* of your _ with an S, because rowspan and colspan
> have nothing to do with colgroups and rowgroups.

First, I hope we can get more illustrations into the HTML 5 draft. Contrary to the draft, the HTML 4 spec has at least a few of those - not least for the tables! Having illustrations inside the spec would _increase_ how accessible it is! :-) For instsance, how its @scope algoritm works would be natural to illustrate.

I don't claim above that rowspan or colspan has anything to do with column groups or row groups. But Anne used colspan="0" (or the exact equavelent) in his table. And, as the @SCOPE value 'rowgroup' is attached to a certain cell, then authors mus know if it matters how many colums or rows that cell covers. If a  cell with scope=row covers two rows, then I guess it als scope its headerness to both rows. (colspan=0 spans the entire width, rowspan=0 spans the entire height).

But if I get you right, then for e.g. the last example, you are saying that the R-cell, which has the @SCOPE=rowgroup, is header for all the other cells - as below?

                   R s
                   s s

Are you then reading the wording «the rest of» in the specification for 'rowgroup' as «all the others»? (I.e. «... the rest of the row group that contains it» = 'all the other cells in the row group'). Or are we talking past each others ... (because I would never gotte the idea of interpreting @SCOPE=rowgroup that way ...)
-- 
leif halvard silli
Received on Friday, 14 September 2007 01:58:55 UTC

This archive was generated by hypermail 2.3.1 : Monday, 29 September 2014 09:38:49 UTC