05:46
<Nicholas Shanks>
Hello. I guess this is the new USENET/IRC.
05:48
<Nicholas Shanks>
I recently discovered that there is no default value for the @scope attribute of the TH element. I always thought it was row for children of TBODY and col otherwise. Is that not how browsers behave anyway?
05:51
<Nicholas Shanks>
If confirmed, would it be wise to codify that behaviour in the standard? (and, is Ian Hickson still the editor?)
06:18
<Nicholas Shanks>
Hmm, the current developer presentation of the WHATWG edition of the standard differs from waht is published on MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#scope says "browsers automatically select the set of cells to which the header cell applies" but does not mention the auto state, leaving me to think it was up to browsers to create some heuristic of their own. This page https://html.spec.whatwg.org/dev/tables.html#attr-th-scope gives quite a verbose description of the expected behaviour, along with diagrams, but does not specify that succinctly in the description of the auto state.
06:23
<Nicholas Shanks>
The description explicity says both auto and rowgroup do not apply to cells preceding the TH with that scope in the current row (for TH children of TBODY) or rowgroup. It says nothing about if/how the auto, col and colgroup states apply headers to preceding cells.
06:29
<Nicholas Shanks>
Also, the described behaviour of an explicit rowgroup value, to not apply to cells in preceding columns, differs from what I would intuitivly have expected. In the diagram, <th> Cats does not apply to <td> 93. Is that really how browsers and accessibility agents behave?
In other words, rowgroup does not mean "rowgroup", it means "cells in this and following columns within this rowgroup"
06:38
<Nicholas Shanks>

More discrepencies:

The row group state means the header cell applies to all the remaining cells in the row group.

This wording is incorrect according to the Cats/Legs diagram. The behaviour illustrated would correspond to:
"The row group state means the header cell applies to all cells in the current and subsequent columns, within the row group."

06:44
<Nicholas Shanks>
If "remaining cells" was defined to mean cells in remaining columns, would that include cells that span across from a preceding column?
07:19
<Nicholas Shanks>

scope was added between September and November 1997: https://www.w3.org/TR/PR-html40-971107/struct/tables.html#adef-scope

row: The current cell provides header information for the rest of the row that contains it.

etc.
So, "the rest of" is clear for row. rowgroup is similarly defined, so it is not clear if it includes preceding columns in subsequent rows (as might be interpreted)

07:24
<Nicholas Shanks>
Also the WHATWG text "The remaining headers apply just to the cells to the right of them." should be amended to use logical directionality for RTL tables.
07:32
<Nicholas Shanks>
So, my findings are that the definition of row and col is consistent with the behaviour of auto when the TH is a child of a TBODY, or not, respectivly, though this behaviour is not explicitly defined for auto.
07:36
<Nicholas Shanks>

In other words, the definition of auto could be changed from

The auto state makes the header cell apply to a set of cells selected based on context.

to e.g. "The auto state behaves as if it were set to row if tbody > tr > th:not([scope]), and col otherwise."

I think this would be a more useful definition.