Re: Please clarify ARIA definition of "grid" role



Rich Schwerdtfeger
CTO Accessibility Software Group

public-pfwg-comments-request@w3.org wrote on 08/31/2010 04:30:41 PM:

> From: James Craig <jcraig@apple.com>
> To: Maciej Stachowiak <mjs@apple.com>, Richard Schwerdtfeger/Austin/
> IBM@IBMUS, Steve Faulkner <sfaulkner@paciellogroup.com>
> Cc: public-pfwg-comments@w3.org
> Date: 08/31/2010 04:31 PM
> Subject: Re: Please clarify ARIA definition of "grid" role
> Sent by: public-pfwg-comments-request@w3.org
>
> On Aug 31, 2010, at 7:40 AM, Maciej Stachowiak wrote:
>
> > On Aug 31, 2010, at 4:45 AM, Richard Schwerdtfeger wrote:
> >> If we are going to defined the table element in terms of ARIA
> semantics whereby our define of grid one one of an interactive
> table, then we have only two choices:
> >>
> >> - take our first proposal which states that Table has no default
> ARIA semantics, which is true.
> >> - If we are going to define Table in terms of ARIA semantics then
> we would need to define table in terms of a static non-interactive,
> non-navigable ARIA grid. The HTML specification does not state that
> a table is not non-interactive nor does it state that it can't be me
> made navigable. The only thing it states that a <table> can't be
> used for is layout (which I disagree with and is inconsistent with
> worldwide web usage of table). Yet, a table allows an author to
> apply script to it to change its functionality.
> >>
> > I think the first option is superior. If <table> does not satisfy
> the "grid" role by default, then it should just have no role. I
> don't think it's helpful to say it is kind of a grid but not really.
>
> This still isn't right. The BaseConcept of grid is "HTML table", and
> the Required Owned Elements for grid are:
>    • row
>    • rowgroup → row
>
> Last November at the F2F, we added the rowgroup role specifically so
> that ARIA grids could have role symmetry with the HTML table child
> elements thead, tbody, and tfoot.
>
>    rowgroup http://www.w3.org/WAI/PF/aria/complete#rowgroup

>    BaseConcept: HTML thead, tfoot, and tbody
>    Note: This role does not differentiate between types of row
> groups (e.g. thead vs. tbody), but an issue has been raised for WAI-ARIA
2.0.
>
> One of the reasons we needed role symmetry was due to the
> complexities of presentation inheritance with host language
implicitsemantics.
>
> From the spec: http://www.w3.org/WAI/PF/aria/complete#presentation

>
James, there are so many things in Table elements and required children
have that we do not have - rowpans colspans, summary, caption, etc.

If you would like an HTML 5 table to have an implict role of grid then we
really need to add some text to it
that states that it is not navigable, etc.

As I said, if we had provided a table role we would be in good shape. It
was in our ontology but we removed it for the reasons I sighted. What you
are telling me is that grid is a subclass of table which we do not have in
our taxonomy. The whole discussion in my mind boils down to interaction and
navigation which are clearly spelled out in ARIA grid.

> > When an explicit or inherited role of presentation is applied to
> an element with the implicit semantic of a WAI-ARIA role that has
> required owned elements, in addition to the element with the
> explicit role of presentation, the user agent MUST apply an
> inherited role of presentation to any owned elements that do not
> have an explicit role defined. For any element with an explicit or
> inherited role of presentation and which is not focusable, user
> agents MUST ignore role-specific WAI-ARIA states and properties for
> that element. For example, in HTML, a table element with a role of
> presentation will have the implicit native semantics of its tr
> element removed because the grid role to which the table corresponds
> has a required owned element of row. In turn, the implicit native
> semantics of the th and td elements will also be removed, because
> the row has required owned elements of role gridcell/columnheader/
> rowheader, which correspond to th and td elements. The same
> principle applies to list elements with required owned listitem
> elements: ul and ol elements with a role of presentation will have
> the implicit semantics of their li children removed as well.
> Explicit roles on an owned element override the inherited role of
> presentation, and cause the owned element to behave as any other
> element with an explicit role.
> >
> > Note: Only the implicit native semantics of elements that
> correspond to WAI-ARIA required owned elements are removed. All
> other content remains intact, including nested tables or lists,
> unless those elements also have a explicit role of presentation applied.
> >
> > For example, according to an accessibility API, the following
> markup elements would appear to have identical role semantics (no
> roles) and identical content.
> >
> > <!-- 1. [role="presentation"] negates the implicit 'list' and
> 'listitem' role semantics but does not affect the contents. -->
> > <ul role="presentation">
> >    <li> Sample Content </li>
> >    <li> More Sample Content </li>
> > </ul>
>
>
> Among other issues, if an HTML table does not have an implicit role
> of grid, all the work we put into presentation inheritance falls apart.
>
> - James

Received on Wednesday, 1 September 2010 13:22:14 UTC