RE: Does 5.1 absolutely require TH?

[JMS] 
Sailesh asked, in wonderment:
<blockquote> 
  John wrote:

	When taken by itself, 5.1 may not *absolutely* require use of
<th> to
	identify headers in simple data tables (tables with only one row
of
	column headers and one column of row headers). 
	Sailesh:
	John, I am curious to   understand why you feel this way and why
you are  roping 5.1 with Guideline 3.  I think 5.1 is quite clear and
distinct. Checkpoint 3.3 (P2) says use stylesheets for layout  and  that
suggests use of CSS instead of layout tables. None of the other
checkpoints in G3 refer to tables.
	And do you agree to the  accessibility problem I pointed out
while trying to navigate simple data tables without column headers?
	 </blockquote>
	John says:
	Sailesh, I absolutely agree with you about the difficulty of
navigating a table in JAWS (or other screen reader/talking browser) when
column and row headers aren't properly identified. But checkpoint 5.1
says only that column and row headers must be identified; it doesn't say
*how* they're to be identified.  (The reference to <th> elements is part
of a "for example," and I'm not certain if it's actually part of the
checkpoint or not.  If it *is* part of the checkpoint, then <th> is
required, full stop.
	 
	The reason I brought Guideline 3 into the discussion is that the
guideline itself (not any specific checkpoint) calls for use of correct
markup; and since <th> was introduced into the HTML specification
precisely and only to identify table headers, I infer that the the
requirement to identify column and row headers should be coupled with
the call for correct markup.  The more general point is that the
guidelines interact with each other; they're not isolated requirements.
	 
	So... where does that leave me? It leaves me saying that WCAG
1.0 requires use of <th> to identify column and row headers.
	 
	(Jim Thatcher might point out here that the <td> element can
have an id attribute, and can be referenced by a headers list in another
<td> element, meaning that a programmatic association can be created
between two <td> elements. If <td> also supports the scope attribute (I
can't remember), then it *could* be argued that <td> elements placed in
the first row and the first column of a table and each provided with an
id attribute and a scope attribute (if supported), would satisfy the
requirement to identify column and row headers. JAWS would treat them
the same as it does <th> elements, I think. Sigh.
	 
	John
	 
	 

Received on Friday, 3 September 2004 20:52:54 UTC