Re: Please clarify ARIA definition of "grid" role

On Aug 31, 2010, at 1:30 AM, Steve Faulkner wrote:

> Hi all,
> M understanding is that a role=”grid” is different from a role=”table” although for accessibility APIs that do not make this distinction role=”grid” can be mapped to role=”table”.
> For accessibility APis that do make the distinction (UIA has distinct grid pattern and table pattern) it would not be correct to force the browser to map the HTML table element to what ARIA grid is mapped to.
>  
> The current spec states:
> “The implicit ARIA semantics defined below must be recognized by implementations. [ARIAIMPL]”
>  
> Which is normative MUST. So if Internet Explorer mapped HTML table to a table pattern in UIA rather than a grid pattern it would be non conforming implementation of HTML5.
>  
> As I said this is my understanding. Is this the case?

UIA has a different taxonomy. The table role inherits from the grid role, and the difference is intended to be that a table has headers. The difference isn't one of interactive vs. not. ARIA doesn't actually have a table role per se, but the implied taxonomy is that grid inherits from table and adds interactivity.

Regards,
Maciej


>  
>  
> with regards
> 
> Steve Faulkner
> Technical Director - TPG
> 
> www.paciellogroup.com | http://www.twitter.com/stevefaulkner
> HTML5: Techniques for providing useful text alternatives - http://dev.w3.org/html5/alt-techniques/
> Web Accessibility Toolbar - http://www.paciellogroup.com/resources/wat-ie-about.html
>  
>  
>  
>  
> The implicit ARIA semantics defined below must be recognized by implementations. [ARIAIMPL]From: Maciej Stachowiak [mailto:mjs@apple.com] 
> Sent: 30 August 2010 20:52
> To: Richard Schwerdtfeger
> Cc: James Craig; public-pfwg-comments@w3.org; public-pfwg-comments-request@w3.org; Steve Faulkner
> Subject: Re: Please clarify ARIA definition of "grid" role
>  
>  
> On Aug 30, 2010, at 12:32 PM, Richard Schwerdtfeger wrote:
> 
> 
> The ARIA spec is clear as with the change you suggested it more clearly states that a grid encompasses interactive, tabular data.
> 
> We do not have a table role in aria. So, if we want to have HTML use grid as the default host language semantics used by ARIA the only appropriate role would be to use grid. Yet, grid is not used for static tables. 
> So, if we simply state somewhere in the HTML 5 spec that a table is a form of static grid. 
> 
> And table refers to a grid in its definition:
> 
> The table element represents data with more than one dimension, in the form of a table.
> 
> The HTML 5 definition of table:
> 
> http://dev.w3.org/html5/spec/tabular-data.html#concept-table
> 
> A table consists of cells aligned on a two-dimensional grid of slots with coordinates (x, y). The grid is finite, and is either empty or has one or more slots. If the grid has one or more slots, then the x coordinates are always in the range 0 ≤ x < xwidth, and the y coordinates are always in the range 0 ≤ y < yheight. If one or both of xwidth and yheight are zero, then the table is empty (has no slots). Tables correspond to table elements.
> 
> So, if we change the table description in HTML 5:
> 
> The table element represents data with more than one dimension, in the form of a table.
> 
> to 
> 
> The table element represents data with more than one dimension, in the form of a non-interactive table.
> 
> And then put grid as the native host language semantics for table I think the HTML spec would be in synch.
> 
>  
> 1) I don't understand the goal of this proposal. I thought the problem with using "grid" for table was that "grid" has to be interactive, but <table> by default is not. If I understand your proposal, you suggest that the table definition should emphasize that a table is non-interactive, but the ARIA section should still give it a default role of "grid". I don't see how this solves the problem.
>  
> 2) tables may not be interactive by default, but they can be made interactive through script or other means (for example simply by giving each non-header cell a tabindex, or by making the contents of some cells be contentEditable). It would be incorrect for the definition of table to define tables as non-interactive.
>  
> Regards,
> Maciej
> 
> 
> 
> 
> 
> 
> Rich Schwerdtfeger
> CTO Accessibility Software Group
> 
> <graycol.gif>Maciej Stachowiak ---08/30/2010 01:35:18 PM---On Aug 30, 2010, at 11:26 AM, Richard Schwerdtfeger wrote: > James,
> 
> From: Maciej Stachowiak <mjs@apple.com>
> To: Richard Schwerdtfeger/Austin/IBM@IBMUS
> Cc: James Craig <jcraig@apple.com>, public-pfwg-comments@w3.org, public-pfwg-comments-request@w3.org, Steve Faulkner <sfaulkner@paciellogroup.com>
> Date: 08/30/2010 01:35 PM
> Subject: Re: Please clarify ARIA definition of "grid" role
> 
> 
> 
> 
> 
> On Aug 30, 2010, at 11:26 AM, Richard Schwerdtfeger wrote:
> James, 
> 
> The reason we created grid was to turn a table into one that is interactive, however, some component libraries like Dojo do not use table to create the actual grid. They use divs and spans to lay out the structure. 
> I think if we were to do what you suggest HTML should modify its definition of table to be a non-interactive grid. 
> 
> As for a grid having to be in inside an element with role="application" that is inaccurate. Windows assistive technologies now recognize elements with an aria role of grid and pass keyboard navigation off to the widget as they know they are interactive. No role="application" on the body tag is required.
> 
> Maciej,
> 
> Would HTML be willing state that a table is an non-interactive grid in its definition or simply state that <table> is non-interactive?
> I'm not sure what that would entail. Would a table have role=grid in that case? Would additional notes in the ARIA mapping table or elsewhere be required?
> 
> I personally have no strong feelings on whether the grid role needs to be interactive. I would be happy either way. However:
> 
> a) The ARIA spec should be exceeding clear one way or the other on this issue, 
> b) It would be good to have a clear decision soon, since this will impact HTML5 and it would be better not to thrash.
> 
> I can ask the editor to hold off on fielding the bug that asks for the grid role to be removed from table, but in general we're trying to get these HTML5 bugs resolved as quickly as possible.
> 
> Regards,
> Maciej
> 
> 
> 
> 
> Rich Schwerdtfeger
> CTO Accessibility Software Group
> 
> <graycol.gif>James Craig ---08/29/2010 02:17:35 PM---Added the following note to ISSUE-421. I'd support allowing the HTML role mapping of table to grid b
> 
> From: James Craig <jcraig@apple.com>
> To: Richard Schwerdtfeger/Austin/IBM@IBMUS
> Cc: Maciej Stachowiak <mjs@apple.com>, public-pfwg-comments@w3.org, public-pfwg-comments-request@w3.org, Steve Faulkner <sfaulkner@paciellogroup.com>
> Date: 08/29/2010 02:17 PM
> Subject: Re: Please clarify ARIA definition of "grid" role
> Sent by: public-pfwg-comments-request@w3.org
>  
> 
> 
> 
> Added the following note to ISSUE-421.
> 
> I'd support allowing the HTML role mapping of table to grid because the distinction you're making applies to behavior, not role. A table is just a readonly grid that is not focus-managed by the author. If we limit grids to interactive controls and explicitly disallow the role on tables, we won't have role symmetry with HTML, and we'd need to define a few more roles. We specifically added rowgroup to account for thead, tbody, and tfoot, so we've already implied that this is a suitable role for HTML tables. 
> 
> I believe the reason you're making the distinction is due to the Windows screen readers behavior of key events inside elements with role application. What if we added the prose to indicate that grids inside [role="application"] where interactive, author-managed-focus controls, and grids inside [role="document"] were readonly, UA-managed-focus tables?
> 
> 
> On Aug 28, 2010, at 9:13 PM, Richard Schwerdtfeger wrote:
> Maciej,
> 
> That's fair. I have opened issue 421 to address this change with your suggested text. http://www.w3.org/WAI/PF/Group/track/issues/421
> 
> Thank you,
> Rich
> 
> 
> Rich Schwerdtfeger
> CTO Accessibility Software Group
> 
> <graycol.gif>Maciej Stachowiak ---08/28/2010 08:45:00 PM---On Aug 26, 2010, at 7:51 PM, Richard Schwerdtfeger wrote: > Tables do NOT allow users to move focus
> 
> From: Maciej Stachowiak <mjs@apple.com>
> To: Richard Schwerdtfeger/Austin/IBM@IBMUS
> Cc: public-pfwg-comments@w3.org, public-pfwg-comments-request@w3.org, Steve Faulkner <sfaulkner@paciellogroup.com>
> Date: 08/28/2010 08:45 PM
> Subject: Re: Please clarify ARIA definition of "grid" role
> 
> 
> 
> 
> 
> On Aug 26, 2010, at 7:51 PM, Richard Schwerdtfeger wrote:
> 
> > Tables do NOT allow users to move focus between cells using two dimensional navigation. 
> > 
> My reading of that sentence was that it was a statement of fact about what would happen if you apply the grid role (that the assistive technology would provide two-dimentional navigation), not a limitation on when it may be applied. Since multiple people misunderstood this definition on first reading, I think a clarification would still be helpful, even if you think it is not strictly necessary. For example:
> 
> "A grid is an interactive control which contains cells of tabular data arranged in rows and columns, like a table."
> 
> I think that simple change to ARIA would have prevented all confusion.
> 
> Regards,
> Maciej
> 
> > 
> > 
> > Rich Schwerdtfeger
> > CTO Accessibility Software Group
> > 
> > <graycol.gif>Maciej Stachowiak ---08/26/2010 05:03:10 AM---ARIA has the following definition of the "grid" role: ------------
> > 
> > From: Maciej Stachowiak <mjs@apple.com>
> > To: public-pfwg-comments@w3.org
> > Cc: Steve Faulkner <sfaulkner@paciellogroup.com>
> > Date: 08/26/2010 05:03 AM
> > Subject: Please clarify ARIA definition of "grid" role
> > Sent by: public-pfwg-comments-request@w3.org
> > 
> > 
> > 
> > 
> > ARIA has the following definition of the "grid" role:
> > 
> > ------------
> > <http://www.w3.org/TR/wai-aria/roles#grid>
> > A grid contains cells of tabular data arranged in rows and columns, like a table.
> > 
> > Grids do not necessarily imply presentation. The grid construct describes relationships between data such that it may be used for different presentations. Grids allow the user to move focus between cells using two dimensional navigation. For example, grid might be used as the invisible data model (hidden with CSS but still operable by assistive technologies) for a presentational chart.
> > ------------
> > 
> > This seems like an exact match for the HTML <table> element, which contains cells of tabular data arranged in rows and columns, like a table. According to Steve Faulkner, however, this role is only supposed to be used for *interactive* presentations of tabular data arranged in rows and columns. Please update the ARIA draft to make this clear. Or, if the grid role is in fact supposed to be applicable even to non-interactive presentations of tabular data, please reply with this information ASAP, since it is relevant to the ARIA role mapping in the HTML5 spec.
> > 
> > Regards,
> > Maciej
> > 
> > 
> >
>  
>  

Received on Tuesday, 31 August 2010 14:33:40 UTC