WebAIM - Web Accessibility In Mind

E-mail List Archives

Thread: Scope on TD

for

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

From: YOUNGV5
Date: Thu, May 19 2011 2:48PM
Subject: Scope on TD
No previous message | Next message →

I have a multi-level row heading table. Does anyone have experience
putting scope="row" on a TH that is actually marked up as a TD? A
developer is insisting we do it this way because of a library constraint.
The HTML specification makes mention of the using this technique:

http://www.w3.org/TR/html4/struct/tables.html#h-11.4

I'm just not certain of the practical accessibility. Of course this works
in JAWS 12 and IE 8, but what about sufficient backwards compatibility for
this technique and with various assistive technology? Also, it seems the
scope attribute is not available on TD in HTML5:

http://dev.w3.org/html5/spec/Overview.html#the-td-element

Any advice would be much appreciated.

Thanks.

-Vinnie

Vincent Young
Accessibility Manager
User Experience Team
Nationwide®
o | 614·677·5094
c | 614·607·3400
e | = EMAIL ADDRESS REMOVED =




From:
"John Foliot" < = EMAIL ADDRESS REMOVED = >
To:
"'WebAIM Discussion List'" < = EMAIL ADDRESS REMOVED = >
Date:
05/17/2011 03:05 PM
Subject:
Re: [WebAIM] headings for links list
Sent by:
= EMAIL ADDRESS REMOVED =



Hoffman, Allen wrote:
>
> Angela:
>
> In the most popular screen reader, links can be read based on screen
> text, alt tag, and other attributes, or longest of the set. What
> someone using a screen reader wants to know about each link is, "what
> does this go to". The document description, or name is what the link
> text should include, and then screen readers will read that. If there
> are multiple formats on the same page, the solution is to just use a
> consistent link order, e.g.
>
> Document about topic #1 <link to word> <link to PDF> <link to other>.
>
> Headers can be helpful for such lists, but on first pass there is no
> perfect way to take a page layout in and figure it out without some
> wasted effort.
>
> It's kind of like asking visual readers how they rapidly assess
> information--you'd get lots of answers for each person you ask.

Hi Angela,

I think Allen has essentially given you the good answer, in the parts he
has provided.

Let's break it down:

THE GOAL:
The goal is to convey to the non-sighted user that a collection of links,
usually an unordered list, is in fact a navigation menu.

However, 'designers' also have other goals (aesthetics), and so in an
imperfect world we sometimes need to take some water with our wine: if a
visual layout design clearly suggests to sighted users that this list
"Foo" is a collection of menu items (satisfying the cognitive disability
requirement), then what we are left with is a need to plug the non-visual
hole. *INSISTING* that you use a <h2> heading to do that will often meet
with significant resistance from the graphic designers (and after all,
they get a say too, right?) or at best require bloated code and grumbling
from your developers (who will do whatever jus to shut up the validator).

The WCAG 2 Working Group realized that if all you do is generate a
tick-box list of do's and don'ts that it really didn't lead to better
accessibility, it led to content authors gaming the system to meet the
tick-boxes, regardless of the final outcome. Thus the final goal of WCAG 2
is to create documents that are Perceivable, Operable, Understandable, and
Robust (a.k.a. POUR) - and WCAG 2 *specifically* does not tell you that
you *MUST* use a specific technique: it defines the required outcome and
leaves it to you, the smart and caring content author, to come up with a
workable solution.

So let's look at some potential solutions.

SOLUTIONS:
1) *IF* you believe that using an <h2> to label your menu can work with
the other parts of your overall design, then great, you can use an <h2>.

2) However, you can also do things like use ARIA, and specifically ARIA's
role="navigation" (http://www.w3.org/TR/wai-aria/roles#navigation) to the
containing element: this now maps the name of that element to the
Accessibility API of the different browsers and operating systems, which
means it can be conveyed to the Assistive Technology. While it is true
that this is a 'forward' looking solution and not a 100% backward looking
solution (ie. It doesn't work in JAWS 5 <grin>), I think we as a community
can safely assume that most users keep their AT relatively up-to-date (a
point underscored in WebAIM's survey results), so for the most part this
is a safe and workable technique:

<div role="navigation">
<ul>
<li>Home</li>
<li>Menu item</li>
</ul>
</div>

...instead of *HAVING* to do this:

<div>
<h2 style="position:absolute; left:-999px; top:-999px;">Navigation
Menu</h2>
<ul>
<li>Home</li>
<li>Menu item</li>
</ul>
</div>

********

3) Moving forward (and I would caution a bit of restraint as what I am
going to suggest does not have widespread support yet, but it's coming)...
anyway, moving forward, HTML5, realizing the importance of providing
concise and unambiguous "landmark" roles (which is what the solution above
is) are introducing a new series of landmark elements, including <nav>, so
that in the near future we will be able to do something like this:

<nav>
<ul>
<li>Home</li>
<li>Menu item</li>
</ul>
</nav>

...and once again the important information (that the list is for
navigation) will be mapped to the Accessibility API, and passed on through
to the user and their AT. However, not all of the current browsers are
parsing <nav> as a discrete element today, and so it's a bit early to use
<nav> alone. However, if you want to think about moving towards HTML5 in
your development, you can use a "belt and suspenders" approach and write:

<nav role="navigation">
<ul>
<li>Home</li>
<li>Menu item</li>
</ul>
</nav>


CONCLUSION:
Informing non-sighted users (screen reader users) that a particular list
of links is intended to be a navigation list (as opposed to, say, a list
of recommended reading titles) is an important goal to meeting POUR.
Insisting that such a list be preceded by an <h2> is simply a reactionary,
'tickbox' solution that doesn't really think about the problem, but rather
just seeks to reach some form of "Bobby icon" status with no thought on
the part of the author. If that kind of mandate is what you require in
your environment, then you are of course free to adopt it, but as Patrick
Lauke noted earlier, it is a "made-up" rule, and not something that you
will see attached to WCAG 2.

Hope this helps.

JF

From: Jukka K. Korpela
Date: Thu, May 19 2011 10:24PM
Subject: Re: Scope on TD
← Previous message | Next message →

19.5.2011 23:45, = EMAIL ADDRESS REMOVED = wrote:

> Also, it seems the
> scope attribute is not available on TD in HTML5:

The rationale is that HTML5 defines TD as containing _only_ data. It
does not emphasize this, but it makes it clear through the obsolete
status of the scope attribute.

HTML5 does not say what to do with cells that contain both data and
header information. HTML 4.01 does, though only in a DTD comment (rather
obscure): "TH is for headers, TD for data, but for cells acting as both
use TD".

HTML5 is still a draft and will remain a draft for a long time, no
matter how eagerly some people label it with the oxymoron "living
standard". So this may well change in future. Current HTML5 drafts also
declare the ABBR and AXIS attributes on TD and TH elements and the
SUMMARY attribute on TABLE element as obsolete, but I would be surprised
if this won't be changed.

--
Yucca, http://www.cs.tut.fi/~jkorpela/

From: Joshue O Connor
Date: Fri, May 20 2011 5:18AM
Subject: Re: Scope on TD
← Previous message | Next message →

On 20/05/2011 05:25, Jukka K. Korpela wrote:
> HTML5 is still a draft and will remain a draft for a long time, no
> matter how eagerly some people label it with the oxymoron "living
> standard". So this may well change in future. Current HTML5 drafts also
> declare the ABBR and AXIS attributes on TD and TH elements and the
> SUMMARY attribute on TABLE element as obsolete, but I would be surprised
> if this won't be changed.

Prepare to be surprised. The @summary is on Hixie's (the editor of the
HTML5 spec) list of Americas most wanted as being 'actively harmful for
accessibility'. As amazing as this statement is, what's more amazing is
that it has been preserved for all to see in the internet's aethers.

Warning: *long* mail..[1]

Cheers

Josh

[1] http://lists.w3.org/Archives/Public/public-html/2009Feb/0601.html

NCBI: Celebrating 80 Years

********************************************************************
National Council for the Blind of Ireland (NCBI) is a company
limited by guarantee (registered in Ireland No. 26293) .
Our registered office is at Whitworth Road, Drumcondra, Dublin 9.
NCBI is also a registered Charity (chy4626).

NOTICE: The information contained in this email and any attachments
is confidential and may be privileged. If you are not the intended
recipient you should not use, disclose, distribute or copy any of
the content of it or of any attachment; you are requested to notify
the sender immediately of your receipt of the email and then to
delete it and any attachments from your system.

NCBI endeavours to ensure that emails and any attachments generated
by its staff are free from viruses or other contaminants. However,
it cannot accept any responsibility for any such which are
transmitted. We therefore recommend you scan all attachments.

Please note that the statements and views expressed in this email
and any attachments are those of the author and do not necessarily
represent the views of NCBI


********************************************************************

From: Joshue O Connor
Date: Fri, May 20 2011 5:27AM
Subject: Re: Scope on TD
← Previous message | Next message →

On 20/05/2011 05:25, Jukka K. Korpela wrote:
> Current HTML5 drafts also declare the ABBR and AXIS attributes on TD and TH elements and the
> SUMMARY attribute on TABLE element as obsolete [...]

Actually its obsolete but conforming. I liken this state to being fired
from your job but given a desk in a darkened basement so you can take
care of vermin after midnight. [1]

Cheers

Josh

[1]
http://www.w3.org/TR/html5/obsolete.html#obsolete-but-conforming-features




NCBI: Celebrating 80 Years

********************************************************************
National Council for the Blind of Ireland (NCBI) is a company
limited by guarantee (registered in Ireland No. 26293) .
Our registered office is at Whitworth Road, Drumcondra, Dublin 9.
NCBI is also a registered Charity (chy4626).

NOTICE: The information contained in this email and any attachments
is confidential and may be privileged. If you are not the intended
recipient you should not use, disclose, distribute or copy any of
the content of it or of any attachment; you are requested to notify
the sender immediately of your receipt of the email and then to
delete it and any attachments from your system.

NCBI endeavours to ensure that emails and any attachments generated
by its staff are free from viruses or other contaminants. However,
it cannot accept any responsibility for any such which are
transmitted. We therefore recommend you scan all attachments.

Please note that the statements and views expressed in this email
and any attachments are those of the author and do not necessarily
represent the views of NCBI


********************************************************************

From: YOUNGV5
Date: Fri, May 20 2011 7:18AM
Subject: Re: Scope on TD
← Previous message | No next message

I understand this. Looking for more of the accessible practicality of
utilizing scope="row" on TD when let's say your Java tag library for
creating tables does not allow for row headers, but does allow for
scope="row" on TD

Vincent Young
Accessibility Manager
User Experience Team
Nationwide®
o | 614·677·5094
c | 614·607·3400
e | = EMAIL ADDRESS REMOVED =




From:
"Jukka K. Korpela" < = EMAIL ADDRESS REMOVED = >
To:
= EMAIL ADDRESS REMOVED =
Date:
05/20/2011 12:25 AM
Subject:
Re: [WebAIM] Scope on TD
Sent by:
= EMAIL ADDRESS REMOVED =



19.5.2011 23:45, = EMAIL ADDRESS REMOVED = wrote:

> Also, it seems the
> scope attribute is not available on TD in HTML5:

The rationale is that HTML5 defines TD as containing _only_ data. It
does not emphasize this, but it makes it clear through the obsolete
status of the scope attribute.

HTML5 does not say what to do with cells that contain both data and
header information. HTML 4.01 does, though only in a DTD comment (rather
obscure): "TH is for headers, TD for data, but for cells acting as both
use TD".

HTML5 is still a draft and will remain a draft for a long time, no
matter how eagerly some people label it with the oxymoron "living
standard". So this may well change in future. Current HTML5 drafts also
declare the ABBR and AXIS attributes on TD and TH elements and the
SUMMARY attribute on TABLE element as obsolete, but I would be surprised
if this won't be changed.

--
Yucca, http://www.cs.tut.fi/~jkorpela/