WebAIM - Web Accessibility In Mind

E-mail List Archives

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

for

From: Jared Smith
Date: Jan 12, 2010 9:18AM


On Tue, Jan 12, 2010 at 8:53 AM, Jon Gunderson < <EMAIL 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