This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 10478 - modify table, tr and td roles
Summary: modify table, tr and td roles
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: pre-LC1 HTML5 spec (editor: Ian Hickson) (show other bugs)
Version: unspecified
Hardware: PC All
: P1 major
Target Milestone: ---
Assignee: steve faulkner
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords: a11y, a11ytf, TrackerIssue
: 10465 (view as bug list)
Depends on:
Blocks: 10066
  Show dependency treegraph
 
Reported: 2010-08-28 12:48 UTC by steve faulkner
Modified: 2010-12-15 14:42 UTC (History)
8 users (show)

See Also:


Attachments

Description steve faulkner 2010-08-28 12:48:47 UTC
The table, tr and td elements are  repurposed by authors to create  widgets such as tab strips, menus, buttons and toolbars, they are also widely used for layout and positioning of content. Allow appropriate widget roles and role="presentation" on these elements to reflect this.

These currently have default ARIA roles that are incorrect, the ARIA grid, gridcell and row roles do not map to HTML table, td and row as these elements are not primarily interactive 'widgets'. grid, gridcell and row are considered to be and will not be mapped to table roles in APIs such as UI automation, that support Grid  role structures

consider changing the currently specified roles to the following:

td 	default role= none	
If specified, role must be one of the following: button, checkbox, gridcell,link, menuitem, menuitemcheckbox, menuitemradio, option, radio, slider, spinbutton, scrollbar, tab, treeitem or presentation. 

table 	default role= none 
If specified, role must be one of the following: alertdialog, dialog, directory, grid, list, listbox, menu, menubar, tablist, toolbar, tree, treegrid or presentation. 

tr 	default role=none	
If specified, role must be one of the following: list, listbox, menu, menubar, row, tablist, toolbar, tree, directory or presentation.
Comment 1 steve faulkner 2010-08-28 12:55:28 UTC
Same goes for a th element that is neither a column header nor a row header , should have no role but may be given a role of gridcell if used in a grid widget.
Comment 2 Maciej Stachowiak 2010-08-29 01:46:13 UTC
Note: even though the ARIA definition of the "grid" role may sound like it applies to a table, in fact it is meant to be limited to interactive controls. I submitted a comment on the ARIA spec to have the wording clarified:

http://lists.w3.org/Archives/Public/public-pfwg-comments/2010JulSep/0029.html
Comment 3 Ian 'Hixie' Hickson 2010-09-07 17:07:05 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: 

(In reply to comment #0)
> The table, tr and td elements are  repurposed by authors to create  widgets
> such as tab strips, menus, buttons and toolbars, they are also widely used for
> layout and positioning of content. Allow appropriate widget roles and
> role="presentation" on these elements to reflect this.

Using tables in this way is non-conforming. The way to make such a page accessible and conforming is to fix the page to use appropriate markup, not to add ARIA. On the other hand, if the author doesn't care about conformance then it doesn't matter what ARIA is allowed, so changing this wouldn't matter.


> These currently have default ARIA roles that are incorrect, the ARIA grid,
> gridcell and row roles do not map to HTML table, td and row as these elements
> are not primarily interactive 'widgets'.

ARIA explicitly says that "grid" is equivalent to HTML table, that "row" is equivalent to HTML tr, and that "gridcell" is equivalent to HTML td. If this is wrong, then ARIA should be fixed; I would be glad to update HTML when ARIA changes, but I do not think we should go out of sync in the meantime.


> td     default role= none    
> If specified, role must be one of the following: button, checkbox,
> gridcell,link, menuitem, menuitemcheckbox, menuitemradio, option, radio,
> slider, spinbutton, scrollbar, tab, treeitem or presentation. 

How can a data table cell ever legitimately be any of these other than gridcell? Can you show conforming examples where these roles are used?


> table     default role= none 
> If specified, role must be one of the following: alertdialog, dialog,
> directory, grid, list, listbox, menu, menubar, tablist, toolbar, tree, treegrid
> or presentation. 

Same question.


> tr     default role=none    
> If specified, role must be one of the following: list, listbox, menu, menubar,
> row, tablist, toolbar, tree, directory or presentation.

Same question.


(In reply to comment #2)
> Note: even though the ARIA definition of the "grid" role may sound like it
> applies to a table, in fact it is meant to be limited to interactive controls.
> I submitted a comment on the ARIA spec to have the wording clarified:
> 
> http://lists.w3.org/Archives/Public/public-pfwg-comments/2010JulSep/0029.html

It doesn't just sound like it applies to tables, it explicitly says it is equivalent to tables. Search for "HTML table" in the role chapter and the only two hits are saying how "grid" and "rowgroup" are the right roles for <table> and <tbody> respectively.
Comment 4 Maciej Stachowiak 2010-09-07 17:59:35 UTC
(In reply to comment #3)

> 
> (In reply to comment #2)
> > Note: even though the ARIA definition of the "grid" role may sound like it
> > applies to a table, in fact it is meant to be limited to interactive controls.
> > I submitted a comment on the ARIA spec to have the wording clarified:
> > 
> > http://lists.w3.org/Archives/Public/public-pfwg-comments/2010JulSep/0029.html
> 
> It doesn't just sound like it applies to tables, it explicitly says it is
> equivalent to tables. Search for "HTML table" in the role chapter and the only
> two hits are saying how "grid" and "rowgroup" are the right roles for <table>
> and <tbody> respectively.

I'll mention that on the public-pfwg-comments thread (there was already a lack of consensus about whether <table> is a grid).
Comment 5 steve faulkner 2010-09-10 08:34:12 UTC
*** Bug 10465 has been marked as a duplicate of this bug. ***
Comment 6 Rich Schwerdtfeger 2010-09-27 22:40:39 UTC
The ARIA working group discussed this and agreed that grid does not default to a role of table and also Maciej's suggested change to clarify the grid role as interactive was made to the specification. row and gridcell are part of the grid structure and are not used for static, non-interactive tables. 

<tr>, <td>, <th> need to be overriden by aria widgets as tables are used formatting consistency by large widget libraries like Dojo to provide a consistent layout across browsers. CSS has proven to be both inadequate and inconsistent.

The inability to support this is a stop ship issue for HTML 5 wrt. accessibility.
Comment 7 Maciej Stachowiak 2010-09-28 01:13:07 UTC
(In reply to comment #6)
> The ARIA working group discussed this and agreed that grid does not default to
> a role of table and also Maciej's suggested change to clarify the grid role as
> interactive was made to the specification. row and gridcell are part of the
> grid structure and are not used for static, non-interactive tables. 

Thank you for expediting this! Is the version of the draft with this change available somewhere? The latest Editor's Draft that I was able to find is dated August 31 and does not seem to have this change. The place I looked is http://www.w3.org/WAI/PF/aria/
Comment 8 Maciej Stachowiak 2010-09-28 06:56:26 UTC
It looks like I checked the wrong place, and the latest published Working Draft of ARIA is actually newer than the latest Editor's draft. The change seems to be here:

http://www.w3.org/TR/wai-aria/roles#grid

(It's odd that the Working Draft is newer than the Editor's Draft, perhaps that Editor's Draft location is obsolete.)
Comment 9 Rich Schwerdtfeger 2010-09-28 13:42:15 UTC
Yes Maciej it is in the formal TR draft. James Craig added the text:

http://www.w3.org/TR/wai-aria/roles#grid
Comment 10 Ian 'Hixie' Hickson 2010-09-30 08:33:55 UTC
ARIA still says that "grid"'s base concept is "HTML table", so I don't understand what changed here.
Comment 11 Ian 'Hixie' Hickson 2010-09-30 08:43:15 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Accepted
Change Description: see diff given below
Rationale: I gave up trying to understand this.
Comment 12 contributor 2010-09-30 08:44:20 UTC
Checked in as WHATWG revision r5569.
Check-in comment: remove anything to do with ARIA from the definitions of table elements
http://html5.org/tools/web-apps-tracker?from=5568&to=5569
Comment 13 steve faulkner 2010-10-13 10:28:02 UTC
added to ISSUE-129 replace or modify the ARIA section of the HTML5 spec http://www.w3.org/html/wg/tracker/issues/129
Comment 14 Michael Cooper 2010-12-15 14:42:07 UTC
This is part of HTML-ISSUE-129. There is some debate taking place actively. Therefore bug triage sub-team thinks this is a HTML A11Y TF priority. Adding a11ytf keyword and assigning to Steve Faulkner for ARIA mapping sub-team.