WebAIM - Web Accessibility In Mind

E-mail List Archives

Thread: When is use of scope, col and/or colgroup important for accessibility?

for

Number of posts in this thread: 9 (In chronological order)

From: Glenda Sims
Date: Mon, Jul 23 2012 10:15AM
Subject: When is use of scope, col and/or colgroup important for accessibility?
No previous message | Next message →

Hey Gang,

I'll admit. I don't use scope or colgroup when creating accessible data
tables. If I'm in a one dimensional data table, I just use the appropriate
<th> tags to mark up all my table headers. I do the same thing if I'm in a
two dimensional data table, just use <th> to mark up headers.

When I'm in a complex data table, I still use <th> where appropriate, but
also add explicit associations for each data cell to the appropriate header
using the id and header attributes.

So, my question is...when advising people on accessible data tables, is
there ever an accessibility reason for using colgroup or rowgroup? I
understand theoretically colgroup and rowgroup add some delicious
semantics...but does any form of assistive technology use that for the
benefit of people with disabilities.

Love,
the every curious Goodwitch
(also known as Glenda Sims)

--
glenda sims | deque.com | 512.963.3773

*web for everyone. web on everything.* - w3 goals

From: Jared Smith
Date: Mon, Jul 23 2012 10:36AM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | Next message →

Because screen readers assume the scope of table headers, explicitly
defining scope isn't really necessary except for when the screen
reader will assume an incorrect scope (for example, when the top left
had cell is a row header instead of a column header). It makes me a
bit uncomfortable when screen readers assume things (see
http://webaim.org/blog/semantic-automation/) and it's extremely easy
to add scope attributes, so I usually recommend doing so.

I'm not aware of any accessibility benefit of colgroup, rowgroup,
thead, tbody, or tfoot (except perhaps improved comprehension of
multi-page printed tables).

Jared

From: Ken Petri
Date: Mon, Jul 23 2012 1:38PM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | Next message →

Howdy Glenda,

I know JAWS understands headers-id associations, but NVDA and VoiceOver
(Mac and iOS) seem not to (they do understand scope). Not sure about
Window-Eyes. So, headers-id associations, while the technically correct way
to show multiple associations between a data cell and headers, may not
deliver a uniform experience, something that users might want to know
about. I suppose you could get creative in complex tables and use
aria-labelledby, since there is pretty wide support for aria-labelledby....

I always use scope with THs to avoid ambiguity. Just seems like the safest
thing to do.

And I had the exact same question about scope="rowgroup" or "colgroup." I
have not experimented to see if screen readers are grokking those, but I'm
ginning up some tests.

ken

From: Sailesh Panchang
Date: Tue, Jul 24 2012 9:01AM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | Next message →

Using headers-id is no different from using aria-labelledby with id.
JAWS supports both in IE and FF but NVDA supports neither in IE.
In fact NVDA works better in FF with headers-id.
Also NVDA supports scope only in FF but not IE.
JAWS has the most robust support for scope.
See H63 of WCAG 2.
The example-1 and description beginning with 'For simple data tables
where ...' is what I had authored.
Also see resource#3 that I had co-authored. The last table corresponds
to the code under example-1 for H63.
Table#1 of that resource is a complex table.
Sailesh Panchang


On 7/23/12, Ken Petri < = EMAIL ADDRESS REMOVED = > wrote:
> Howdy Glenda,
>
> I know JAWS understands headers-id associations, but NVDA and VoiceOver
> (Mac and iOS) seem not to (they do understand scope). Not sure about
> Window-Eyes. So, headers-id associations, while the technically correct way
> to show multiple associations between a data cell and headers, may not
> deliver a uniform experience, something that users might want to know
> about. I suppose you could get creative in complex tables and use
> aria-labelledby, since there is pretty wide support for aria-labelledby....
>
> I always use scope with THs to avoid ambiguity. Just seems like the safest
> thing to do.
>
> And I had the exact same question about scope="rowgroup" or "colgroup." I
> have not experimented to see if screen readers are grokking those, but I'm
> ginning up some tests.
>
> ken
> > > >

From: Ryan E. Benson
Date: Tue, Jul 24 2012 8:50PM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | Next message →

Glenda,

> If I'm in a one dimensional data table, I just use the appropriate
> <th> tags to mark up all my table headers.
At work, I would near -automatically mark this as not compliant. I
would give a bit of leeway if the table in question was 3x3 or under.
Would I say a 4x2 or 4x3 is not compliant? I do not wish to discuss
that level of policy here.

Jared said
> I'm not aware of any accessibility benefit of colgroup, rowgroup,
> thead, tbody, or tfoot (except perhaps improved comprehension of
> multi-page printed tables).
I agree with this. I see tbody used periodically at work, most of the
time it is used incorrectly. Most of /that/ time the dev doesn't know
why it was used or know what that tag does.

--
Ryan E. Benson


On Mon, Jul 23, 2012 at 12:15 PM, Glenda Sims < = EMAIL ADDRESS REMOVED = > wrote:
> Hey Gang,
>
> I'll admit. I don't use scope or colgroup when creating accessible data
> tables. If I'm in a one dimensional data table, I just use the appropriate
> <th> tags to mark up all my table headers. I do the same thing if I'm in a
> two dimensional data table, just use <th> to mark up headers.
>
> When I'm in a complex data table, I still use <th> where appropriate, but
> also add explicit associations for each data cell to the appropriate header
> using the id and header attributes.
>
> So, my question is...when advising people on accessible data tables, is
> there ever an accessibility reason for using colgroup or rowgroup? I
> understand theoretically colgroup and rowgroup add some delicious
> semantics...but does any form of assistive technology use that for the
> benefit of people with disabilities.
>
> Love,
> the every curious Goodwitch
> (also known as Glenda Sims)
>
> --
> glenda sims | deque.com | 512.963.3773
>
> *web for everyone. web on everything.* - w3 goals
> > >

From: John Foliot
Date: Tue, Jul 24 2012 9:24PM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | Next message →

Ryan E. Benson wrote:
>
> > If I'm in a one dimensional data table, I just use the appropriate
> > <th> tags to mark up all my table headers.
> At work, I would near -automatically mark this as not compliant.

What?? Explain further. A table with 5 rows and ten columns, with the first
row containing all <th>s for their corresponding columns is fully compliant
per WCAG2 (AFAIK), so why are you failing it?

> I
> would give a bit of leeway if the table in question was 3x3 or under.
> Would I say a 4x2 or 4x3 is not compliant? I do not wish to discuss
> that level of policy here.

Fair enough, but you've just made a pretty broad and sweeping statement that
justifies some more level of reasoning/proof on why you would "fail" it.
Please elaborate.

JF

From: Ryan E. Benson
Date: Tue, Jul 24 2012 9:47PM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | Next message →

> What?? Explain further. A table with 5 rows and ten columns, with the first
> row containing all <th>s for their corresponding columns is fully compliant
> per WCAG2 (AFAIK), so why are you failing it?
Our interpretation of Section 508. We extend 1194.22(g) in our
checklists so scope is defined, AND to ensure <th> isn't randomly used
to bold and center text in a table.

> Fair enough, but you've just made a pretty broad and sweeping statement that
> justifies some more level of reasoning/proof on why you would "fail" it.
Above may answer this, but also Jared sums it up: "It makes me a
bit uncomfortable when screen readers assume things (see
http://webaim.org/blog/semantic-automation/) and it's extremely easy
to add scope attributes, so I usually recommend doing so."
AT probably guesses what direction the scope goes these days because
people didn't use scope often/correctly enough. If we have the method
of telling AT what to do, and it takes 11 characters to do it, why
not. Stating that AT can guess scope correctly most of the time, we
probably will never say <label> is optional, if the AT can guess form
elements correctly most of the time, correct?

--
Ryan E. Benson


On Tue, Jul 24, 2012 at 11:24 PM, John Foliot < = EMAIL ADDRESS REMOVED = > wrote:
> Ryan E. Benson wrote:
>>
>> > If I'm in a one dimensional data table, I just use the appropriate
>> > <th> tags to mark up all my table headers.
>> At work, I would near -automatically mark this as not compliant.
>
> What?? Explain further. A table with 5 rows and ten columns, with the first
> row containing all <th>s for their corresponding columns is fully compliant
> per WCAG2 (AFAIK), so why are you failing it?
>
>> I
>> would give a bit of leeway if the table in question was 3x3 or under.
>> Would I say a 4x2 or 4x3 is not compliant? I do not wish to discuss
>> that level of policy here.
>
> Fair enough, but you've just made a pretty broad and sweeping statement that
> justifies some more level of reasoning/proof on why you would "fail" it.
> Please elaborate.
>
> JF
>
> > >

From: kitchen factory
Date: Tue, Jul 24 2012 10:08PM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | Next message →

up to u

On Wed, Jul 25, 2012 at 10:47 AM, Ryan E. Benson < = EMAIL ADDRESS REMOVED = >wrote:

> > What?? Explain further. A table with 5 rows and ten columns, with the
> first
> > row containing all <th>s for their corresponding columns is fully
> compliant
> > per WCAG2 (AFAIK), so why are you failing it?
> Our interpretation of Section 508. We extend 1194.22(g) in our
> checklists so scope is defined, AND to ensure <th> isn't randomly used
> to bold and center text in a table.
>
> > Fair enough, but you've just made a pretty broad and sweeping statement
> that
> > justifies some more level of reasoning/proof on why you would "fail" it.
> Above may answer this, but also Jared sums it up: "It makes me a
> bit uncomfortable when screen readers assume things (see
> http://webaim.org/blog/semantic-automation/) and it's extremely easy
> to add scope attributes, so I usually recommend doing so."
> AT probably guesses what direction the scope goes these days because
> people didn't use scope often/correctly enough. If we have the method
> of telling AT what to do, and it takes 11 characters to do it, why
> not. Stating that AT can guess scope correctly most of the time, we
> probably will never say <label> is optional, if the AT can guess form
> elements correctly most of the time, correct?
>
> --
> Ryan E. Benson
>
>
> On Tue, Jul 24, 2012 at 11:24 PM, John Foliot < = EMAIL ADDRESS REMOVED = > wrote:
> > Ryan E. Benson wrote:
> >>
> >> > If I'm in a one dimensional data table, I just use the appropriate
> >> > <th> tags to mark up all my table headers.
> >> At work, I would near -automatically mark this as not compliant.
> >
> > What?? Explain further. A table with 5 rows and ten columns, with the
> first
> > row containing all <th>s for their corresponding columns is fully
> compliant
> > per WCAG2 (AFAIK), so why are you failing it?
> >
> >> I
> >> would give a bit of leeway if the table in question was 3x3 or under.
> >> Would I say a 4x2 or 4x3 is not compliant? I do not wish to discuss
> >> that level of policy here.
> >
> > Fair enough, but you've just made a pretty broad and sweeping statement
> that
> > justifies some more level of reasoning/proof on why you would "fail" it.
> > Please elaborate.
> >
> > JF
> >
> > > > > > > > > >

From: Benjamin Hawkes-Lewis
Date: Mon, Jul 30 2012 7:20PM
Subject: Re: When is use of scope, col and/or colgroup important for accessibility?
← Previous message | No next message

On Wed, Jul 25, 2012 at 4:47 AM, Ryan E. Benson < = EMAIL ADDRESS REMOVED = > wrote:
> AT probably guesses what direction the scope goes these days because
> people didn't use scope often/correctly enough.

It's not necessarily a guess so much as following the semantics of the language.

Both HTML4 and HTML5 include algorithms for determining headers for a
cell in scope's absence.

http://www.w3.org/TR/html401/struct/tables.html#h-11.4.3

http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#header-and-data-cell-semantics

--
Benjamin Hawkes-Lewis