W3C home > Mailing lists > Public > w3c-wai-ig@w3.org > July to September 2013

Re: Tables: Does scope="col" Stop When A Row Spans Multiple Columns?

From: Sailesh Panchang <sailesh.panchang@deque.com>
Date: Fri, 16 Aug 2013 23:38:22 -0400
Message-ID: <CAJi9CqpCMc+nsMKeRGDpTb_wctfc+TvE=_FBQSYUAgB3CecNLA@mail.gmail.com>
To: Andrew Kirkpatrick <akirkpat@adobe.com>
Cc: "Homme, James" <james.homme@highmark.com>, Roger Hudson <rhudson@usability.com.au>, Duff Johnson <duff@duff-johnson.com>, "w3c-wai-ig@w3.org" <w3c-wai-ig@w3.org>
1. Support for table's scope attribute when colspan / rowspan are used:
Here is an HTML table with column headers spanning the top 3 rows,
rowspan in the THEAD for 2 columns and rowspan in the table body  for
col#1. The table uses only scope and TH and works with JAWS 12 / 13 /
Other screen readers do not have this level of support.

For an older exercise re. table's scope attribute refer to the last
item under resources (to which I had contributed) for
WCAG 2 technique H63:

2. About JAWS reading  contents of cells in rows above marked up as TH:
Jim, (and Andrew too),
The outcome you experience: JAWS reads  all row headers above the
current cell when you navigate from right to left is not new. It is
not sufficient to mark up row header cells merely as <th>.
One needs to use <th scope="row">.
This applies to HTML and PDF too.

See the text of my request to WCAG-WG to update the techniques I sent
some months ago which is
apparently pending review: Andrew- please note)
H51: Using table markup to present tabular information

Append to existing description:
Screen readers like JAWS and NVDA speak  column headers marked up as
“TH” occurring in multiple
rows of a table. This obviates the need to use the headers-id method
for associating header and data cells (Technique H43) in such tables.
Developers need to take note of this.
As a direct consequence of this, it is necessary to include a scope
attribute even for cells marked up with the TH tag.
So marking up row header cells in the first column of a table with TH
scope=”row” ensures that the contents of that cell are not treated as
column header for rows below.
This technique works reliably with:
-	NVDA 2012/ 2013 with Firefox,
-	JAWS 14 with Google Chrome, and
-	JAWS 12 and later with Internet Explorer 8/9 and Firefox
Example file at
The above is at

Sailesh Panchang
Deque Systems
Desk: 703-225-0380 ext 105
Cell 571-344-1765

On 8/14/13, Andrew Kirkpatrick <akirkpat@adobe.com> wrote:
> Sounds like an incorrectly marked up table. Jaws uses the same process to
> evaluate and read tables in both PDF and HTML.
> Andrew Kirkpatrick
> On Aug 14, 2013, at 8:46 AM, "Homme, James" <james.homme@highmark.com>
> wrote:
>> Hi,
>> The table I looked at was in a PDF. JAWS spoke the headers correctly when
>> I moved from left to right. It spoke the whole column down to the cell I
>> landed on when I moved from right to left. So, if I was in row six, it
>> read all five cells above where I looked, and if I was in row nine, it
>> read the first eight cells, then the one I landed on. Could there be some
>> other problem?
>> Thanks.
>> Jim
>> -----Original Message-----
>> From: Roger Hudson [mailto:rhudson@usability.com.au]
>> Sent: Tuesday, August 13, 2013 4:28 PM
>> To: 'Duff Johnson'; w3c-wai-ig@w3.org
>> Subject: RE: Tables: Does scope="col" Stop When A Row Spans Multiple
>> Columns?
>> Some years ago I checked how well several screen readers used scope and
>> found with "rows" the results were not good, and only just OK with "col".
>> Does anyone have any recent results of testing HTML data tables with
>> screen
>> readers, and in particular with complex tables that have more than one
>> level
>> of column and/or row headers?
>> Thanks,
>> Roger
>> -----Original Message-----
>> From: Duff Johnson [mailto:duff@duff-johnson.com]
>> Sent: Wednesday, 14 August 2013 5:06 AM
>> To: w3c-wai-ig@w3.org
>> Subject: Re: Tables: Does scope="col" Stop When A Row Spans Multiple
>> Columns?
>> Jim,
>> - Headers with a scope of "col" are column headers
>> - Headers with a scope of "row" are row headers
>> - Cell can span rows or columns up to the maximum number of rows or
>> columns
>> in the table.
>> If the table may be fully executed using the above you don't need to use
>> IDs.
>> Does that help?
>> Duff.
>> On Aug 13, 2013, at 2:02 PM, "Homme, James" <james.homme@highmark.com>
>> wrote:
>>> Hi,
>>> I have a table in which the heading cells all have scope="col", but the
>> table has some rows that span across the whole table. What is the
>> expected
>> behavior for this situation? Should I consider using the headers and id
>> attributes to get proper reading if something doesn't work?
>>> Thanks.
>>> Jim
>>> This e-mail and any attachments to it are confidential and are intended
>> solely for use of the individual or entity to whom they are addressed. If
>> you have received this e-mail in error, please notify the sender
>> immediately
>> and then delete it. If you are not the intended recipient, you must not
>> keep, use, disclose, copy or distribute this e-mail without the author's
>> prior permission. The views expressed in this e-mail message do not
>> necessarily represent the views of Highmark, its diversified business, or
>> affiliates.
Received on Saturday, 17 August 2013 03:38:49 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 13 October 2015 16:21:49 UTC