E-mail List Archives

Thread: Use of ROLE=GRID for identifying data tables is a POOR practice for future compatibility

for

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

From: Jon Gunderson
Date: Tue, Jan 12 2010 8:54AM
Subject: Use of ROLE=GRID for identifying data tables is a POOR practice for future compatibility
No previous message | Next message →

The blog entry "JAWS ate my tables " at states the use of ROLE=GRID will result in Jaws identifying the table as a data table:
http://webaim.org/blog/jaws-ate-my-tables/

It is true using ROLE=GRID will identify a table as being a data table, since the MSAA mapping of GRID is to MSAA TABLE roles, since MSAA does not have GRID roles.

But the use of ROLE=GRID is a poor practice for static data table identification and will cause confusion in the future, since the real purpose of using ROLE=GRID is to identify an interactive grid widget. The confusion will come as more real GRIDs become available on the web that are interactive, when users come to use the non-interactive GRIDs they will be confused.

So I recommend that people NOT use ROLE=GRID unless it fully supports the GRID related markup and keyboard navigation:

GRID related markup:
http://www.w3.org/TR/wai-aria/complete#grid

DHTML Style Guide for grid interactivity:
http://dev.aol.com/dhtml_style_guide#grid

Example of an interactive GRID using ARIA markup and DHTML stlye guide:
http://test.cita.illinois.edu/aria/grid/grid4.php


Jon
Jon Gunderson, Ph.D.
Coordinator Information Technology Accessibility
Disability Resources and Educational Services

Rehabilitation Education Center
Room 86
1207 S. Oak Street
Champaign, Illinois 61820

Voice: (217) 244-5870

WWW: http://www.cita.illinois.edu/
WWW: https://netfiles.uiuc.edu/jongund/www/

---------------------------------------------------------------
Privacy Information
---------------------------------------------------------------
This email (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged. It is intended for the use of the individual or entity to which it is addressed and may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this email is not the intended recipient, or agent responsible for delivering or copying of this communication, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, please reply to the sender that you have received the message in error, then delete it. Thank you.

From: Jared Smith
Date: Tue, Jan 12 2010 9:18AM
Subject: Re: Use of ROLE=GRID for identifying data tables is a POOR practice for future compatibility
← Previous message | No next message

On Tue, Jan 12, 2010 at 8:53 AM, Jon Gunderson < = EMAIL ADDRESS REMOVED = > wrote:

> But the use of ROLE=GRID is a poor practice for static data table
> identification and will cause confusion in the future, since the real
> purpose of using ROLE=GRID is to identify an interactive grid widget.
> The confusion will come as more real GRIDs become available on the
> web that are interactive, when users come to use the non-interactive
> GRIDs they will be confused.

Thanks for the update.

I don't see anything in the specification that limits grid to only
interactive elements. It says that the grid MAY contain editable
elements. I may be missing something. Of note is that no screen reader
I tested identifies a table with role="grid" any different than a
standard data table. If they are to identify grids as editable, this
functionality doesn't seem to be present yet.

The recommendation of using role="grid" was to force the screen reader
to treat data tables as such, rather than ignoring the data structure
and treating them as layout tables. Which is more problematic, to have
a data table's structure ignored entirely or to (conceivably) have a
static data table identified, but as editable? I would think the
former is much more significant - role="grid" seems to adequately fix
this problem.

With this said, this is really less of an issue now that the most
current sub-version of JAWS more accurately detects data tables by
considering header structure in its heuristics (getting them to do
this was the main motivation behind the post). I've updated the blog
entry accordingly.

Jared Smith
WebAIM