- From: Richard Schwerdtfeger <schwer@us.ibm.com>
- Date: Tue, 31 Aug 2010 06:45:53 -0500
- To: Maciej Stachowiak <mjs@apple.com>
- Cc: James Craig <jcraig@apple.com>, public-pfwg-comments@w3.org, public-pfwg-comments-request@w3.org, Steve Faulkner <sfaulkner@paciellogroup.com>
- Message-ID: <OFA049740C.711A24FF-ON86257790.003E7177-86257790.0040A025@us.ibm.com>
Maciej,
ARIA grids are interactive in they may be editable and the user is also
allowed navigate by among gridcells:
"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."
What you are suggesting as interactive is that a link or some other
interactive element is stuffed in a cell in a table. The <table> has no
control over the navigation among those elements by default. The
interaction with those embedded within the table occurs at the document
level and is in no way governed by the table, unless the author introduces
script on the table to change how it behaves. In this situation you no
longer have a table as it has been re-purposed and does not follow the
functionality of an HTMl 5 table.
What our task is, is to define <table> in terms of ARIA host language
semantics.
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.
Our experience has been that authors create ARIA grids using <divs> and
<spans> as well as stronger semantic elements like tables.
This would all have been easier if we had defined an ARIA table role but
given the extensive set of properties we have in HTML that we would need to
reproduce we felt it easier to simply tell the user to use an HTML table.
This strategy has proven to be very successful.
Rich Schwerdtfeger
CTO Accessibility Software Group
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 02:52 PM
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
>
>
>
Attachments
- image/gif attachment: graycol.gif
Received on Tuesday, 31 August 2010 11:46:33 UTC