E-mail List Archives
Re: Use of the scope attribute with TH elements
From: Sailesh Panchang
Date: Feb 4, 2014 11:48AM
- Next message: Andrews, David B (DEED): "Re: Reading tables in JAWS"
- Previous message: Paul Bohman: "Re: Use of the scope attribute with TH elements"
- Next message in Thread: None
- Previous message in Thread: Paul Bohman: "Re: Use of the scope attribute with TH elements"
- View all messages in this Thread
Todd,
That note about not using scope for simple tables with headings across
the first row and down the first column then was motivated by the
absence of support for scope in Window-Eyes ... it would fail to read
headings if a cell had TH with scope. It is based on the principle of
coding in a manner that will ensure the widest possible support while
being standards-compliant.
I agree with the need to use of scope so that the heading logic is
very explicit and not subject to different interpretation by AT /
browsers.
Now At (JAWS/NVDA) support TH in tables with more than 1 row of column
headers. So using scope helps. And one can avoid using headers-id
except in really complex tables.
And finally HTML4 recognized a reality and allowed use of scope with
TD cells too with the note:
"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." [1]
Surely one will use TH to mark up header cells but when there are
constraints the above note comes handy.
It is extremely unfortunate that HTML5 ignores this reality and does
not allow use of scope on a TD cell.
[1] Section 11.4.1 of http://www.w3.org/TR/REC-html40/struct/tables.html
Regards,
Sailesh
On 2/4/14, Paul Bohman < <EMAIL REMOVED> > wrote:
> Using only <th> for cells across the top (column headers) works pretty
> universally without scope, but I still recommend using scope, to make the
> purpose of the th unambiguous.
>
> Using <th> for cells in the left column (row headers) is not as universally
> supported without scope, so always include the scope for row headers.
>
> The headers + id method for complex tables with spanned cells works great
> in JAWS and NVDA and does not work at all in VoiceOver. The VoiceOver
> implementation is quite broken. VoiceOver requires simple table structure,
> or else you have to essentially create the table from scratch using ARIA
> grid structure, which is no fun, and works only in the OSX and not in
> mobile iOS. I don't know of a solution for iPhones/iPads. Only simple table
> structures work on Mac mobile platforms, as far as I know.
>
>
> Paul Bohman, PhD
> Director of Training
> Deque Systems, Inc
> www.deque.com
> 703-225-0380, ext.121
>
>
> On Tue, Jan 28, 2014 at 7:17 AM, Liko, Todd < <EMAIL REMOVED> > wrote:
>
>> Hi Olaf.
>>
>> Thank you for your reply.
>>
>> When you say 'it is almost impossible to interpret this structure in the
>> wrong fashion; scope attributes could not add any information' you are
>> referring to assistive technologies such as screen readers. I realize we
>> should not be coding for assistive technologies, they should be conforming
>> with the standards. I tend to err on the side of caution and given that
>> the
>> scope attribute has defined purpose and does not hinder the reading of a
>> table when used, that is why I have continued to use it.
>>
>> In addition, as previously noted, most of the information out there,
>> including the revamped WebAim website, still say to use the scope
>> attribute
>> for simple tables.
>>
>> Once again, I appreciate your reply.
>>
>> Todd.
>>
>>
- Next message: Andrews, David B (DEED): "Re: Reading tables in JAWS"
- Previous message: Paul Bohman: "Re: Use of the scope attribute with TH elements"
- Next message in Thread: None
- Previous message in Thread: Paul Bohman: "Re: Use of the scope attribute with TH elements"
- View all messages in this Thread