$)CRE: Please clarify ARIA definition of "grid" role

$)CUnfortunately, 3.2.6 does not map host language semantics to underlying OS
accessibility constructs. That we will do in the HTML 5 accessibility API
mapping document which we have started. We can't mix and match API
semantics with ARIA semantics in 3.2.6.

In MSAA/IA2 you would get an MSAA role of table and then look to the actual
ARIA role in the object properties to determine that it is indeed an
navigable interactive grid.

So, let's leave accessibility API mappings out of the picture as it just
confuses things.

We have only the two options in my last post. Frankly, the easiest thing to
do is state that a table has no default ARIA host language semantics as we
stated and move on. Although an ARIA grid is tabular it really is a
different kettle of fish.

Rich Schwerdtfeger
CTO Accessibility Software Group



From:	"Steve Faulkner" <sfaulkner@paciellogroup.com>
To:	"'Maciej Stachowiak'" <mjs@apple.com>, Richard
            Schwerdtfeger/Austin/IBM@IBMUS
Cc:	"'James Craig'" <jcraig@apple.com>,
            <public-pfwg-comments@w3.org>
Date:	08/31/2010 03:30 AM
Subject:	RE: Please clarify ARIA definition of "grid" role



Hi all,
M understanding is that a role=!1grid!1 is different from a role=!1table!1
although for accessibility APIs that do not make this distinction
role=!1grid!1 can be mapped to role=!1table!1.
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:
!0The implicit ARIA semantics defined below must be recognized by
implementations. [ARIAIMPL]!1

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?


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 !B x < xwidth, and the y coordinates are always in the
range 0 !B 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 12:04:35 UTC