RE: grids vs sortable tables

Matt,

I am making this comment based on the text of table and grid roles in ARIA
1.1 Jan 6, 2016? If there is a later version that corrects the text, please
point me to it. Note, in the sample table I sent and live angularJS
sortable table I sent the link to, there were neither many rows or columns;
so there are not a lot of sort headers. From your email.

<blockquote>It would be valid, but kind of a cheap cop out, to make a grid
of static, tabular data where the only focusable cells are the sort
controls. If there are a lot of sort headers, it would be better than a
mound of tab stops, but it would make screen reader users do more mode
switching thean if you made the entire grid navigable.</blockquote>

The table role states - The table role is intended for tabular containers
which are not interactive. <em>If the tabular container</em> maintains a
selection state, provides its own two-dimensional navigation, or <em>allows
the user to rearrange or otherwise manipulate its contents or the display
thereof, authors SHOULD use grid or treegrid instead.</em>

To me it sounds like a sortable table should use a role grid (even if it is
3x3). I may have lost track of the rawgit version that clears all this up,
if so I apologize for referencing older docs and please pass along the link
to the version that clears this all up.
                                                              
     Regards,                                                 
                                                              
    Fred Esch                                                 
 Watson, IBM, W3C                                             
  Accessibility                                               
                                                              
 IBM Watson       Watson Release Management and Quality       
                                                              






From: Matt King <a11ythinker@gmail.com>
To: Fred Esch/Arlington/IBM@IBMUS, "'Bryan Garaventa'"
            <bryan.garaventa@ssbbartgroup.com>
Cc: "'Steve Faulkner'" <faulkner.steve@gmail.com>, "'Accessible
            Rich Internet Applications Working Group'" <public-aria@w3.org>
Date: 02/08/2016 09:06 PM
Subject: RE: grids vs sortable tables



Fred, I was hoping the updated grid text we reviewed a couple weeks ago
makes the distinction clear.

A grid is a composite widget. It manages focus. In the desktop world, that
means it is a single tab stop. Arrow keys move focus inside of it. It may
contain anything. It may or may not look like a table, but logically, it
has 2 dimensions. It may nonetheless be a single column or a single row in
size.

A table is a structure. If it contains interactive widgets, each widget
will have its own tab stop. In addition, table implies tabular information,
meaning there should be headers someplace.

To a screen reader user in reading mode, both look and feel the same
although some screen readers may expose the grid role. Not all do.
VoiceOver exposes a grid as a table. Because of the way VoiceOver works,
this is probably fine.

They are most different when in focus/forms/interaction mode.

Thus, if making a sortable table, the widgets, e.g., buttons, that perform
sorts will be in the tab sequence.

It would be valid, but kind of a cheap cop out, to make a grid of static,
tabular data where the only focusable cells are the sort controls. If there
are a lot of sort headers, it would be better than a mound of tab stops,
but it would make screen reader users do more mode switching thean if you
made the entire grid navigable.

When presenting tabular data, one reason to use grid instead of table would
be if the dataset is large and you don’t want it all in the DOM. The page
can scroll and load more data as the user moves focus down columns or
across rows.

You can make a table where it is possible to mark rows as selected, e.g.,
with a checkbox in a select column, delete rows, edit content with input
elements, etc. But, if you do all that in a grid, the interaction model is
much nicer for keyboard-only users.

One particularly confusing aspect of grid has been the notion of
“editability.” With ARIA 1.1, I tried to clear this up. A grid is a grid.
There are not 2 kinds. Adding readonly to the grid itself is just an
authoring convenience. It does not change the nature of the grid itself. It
just means that if a cell contains something that was previously mutable,
said elements are no longer mutable. In a context where none of the
elements in the grid were editable, e.g., links and buttons, there is no
reason to use aria-readonly at all. I think there is still room for
improvement on this front in ARIA 2.0. But, hopefully with this much
clarification, we will be able to get more consistent support for grid
interaction from screen readers.

Matt

From: Fred Esch [mailto:fesch@us.ibm.com]
Sent: Monday, February 8, 2016 1:18 PM
To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
Cc: Matt King <a11ythinker@gmail.com>; Steve Faulkner
<faulkner.steve@gmail.com>; Accessible Rich Internet Applications Working
Group <public-aria@w3.org>
Subject: RE: grids vs sortable tables



Bryan,

I get the general gist. Having interactive th elements doesn't make a table
a grid. Which types of interactivity inside a cell would make a table a
grid? And which types of interactivity does not? If your table contained
links would that qualify as a grid? A link is focusable and interactive,
but I wouldn't think links inside a table would make it a grid.

Perhaps there are qualifiers I am not aware of that make something a grid.
Perhaps the ability to delete or add rows. Is there a list of conditions
for a grid?


                                                     
     Regards,                                        
                                                     
    Fred Esch                                        
 Watson, IBM, W3C                                    
  Accessibility                                      
                                                     
 IBM Watson       Watson Release Management and      
                  Quality                            
                                                     






Inactive hide details for Bryan Garaventa ---02/08/2016 03:57:58
PM---That’s true, that in a Grid the cells are meant to be inBryan
Garaventa ---02/08/2016 03:57:58 PM---That’s true, that in a Grid the cells
are meant to be interactive, in the sense that they are focusa

From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
To: Steve Faulkner <faulkner.steve@gmail.com>, Fred
Esch/Arlington/IBM@IBMUS
Cc: Matt King <a11ythinker@gmail.com>, "Accessible Rich Internet
Applications Working Group" <public-aria@w3.org>
Date: 02/08/2016 03:57 PM
Subject: RE: grids vs sortable tables




That’s true, that in a Grid the cells are meant to be interactive, in the
sense that they are focusable and the user then needs to use the arrow keys
to navigate between the cells of the Grid construct.

This doesn’t necessarily mean that they are editable however, just that
they are meant to be focusable and interactive.

This is major overkill for a standard data table that includes sortable
columns, because the table is not meant to be interactive like this. It is
simply a static markup structure, and little scripting needs to be done to
make something like this accessible.

If you use role=”grid” you are changing the paradigm of what is expected,
and that is very confusing for AT users when misapplied on standard data
tables.

From: Steve Faulkner [mailto:faulkner.steve@gmail.com]
Sent: Monday, February 08, 2016 12:41 PM
To: Fred Esch <fesch@us.ibm.com>
Cc: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>; Matt King <
a11ythinker@gmail.com>; Accessible Rich Internet Applications Working Group
<public-aria@w3.org>
Subject: Re: grids vs sortable tables

>I don't understand the split between a grid and >a table.

I believe the difference Is that grid contains editable cells a table does
not. Using a role of grid may result in Screen readers providing a
different navigation/interaction behaviour.

On Monday, 8 February 2016, Fred Esch <fesch@us.ibm.com> wrote:


Bryan,

Why didn't you use the role of grid on the table? I don't understand the
split between a grid and a table. If a table is static and a grid is
editable - which side of the fence does that leave sortable tables on? The
table side (data isn't changing, just the display changes) or grid side (it
is interactive and the table apparently changes)? Originally, I brought
this up because of the sortable/sorted attributes (which are going away) on
table and th elements respectively. And I wonder whether the split between
the two roles will be readily understood by developers.

Would button be a better role for the contents (span) of the sortable th
than the suggested link role?

JAWS with Firefox and NVDA with Chrome will announce that the first column
is sorted ascending. I don't hear columns with aria-sort and value of '
none' announced as being sortable. How does a user know that they can sort
by the other columns?


                                              
     Regards,                                 
                                              
    Fred Esch                                 
 Watson, IBM, W3C                             
  Accessibility                               
                                              
 IBM Watson       Watson Release Management   
                  and Quality                 
                                              






Inactive hide details for Bryan Garaventa ---02/05/2016 01:27:28 PM---Hi,
I’ve attached a modified markup of your table, whichBryan Garaventa
---02/05/2016 01:27:28 PM---Hi, I’ve attached a modified markup of your
table, which shows where ARIA is needed to make this acc

From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
To: Fred Esch/Arlington/IBM@IBMUS, Matt King <a11ythinker@gmail.com>
Cc: "'Accessible Rich Internet Applications Working Group'" <
public-aria@w3.org>
Date: 02/05/2016 01:27 PM
Subject: RE: grids vs sortable tables





Hi,
I’ve attached a modified markup of your table, which shows where ARIA is
needed to make this accessible.

There are several issues here, not just with the column header announcement
using aria-sort, which is lacking, but also that the sortable active
elements needed to invoke the sort action are not keyboard accessible nor
do they have active element roles to be conveyed to ATs.

So I added not just aria-sort where needed but also role=”link” and
tabindex where needed to be scripted in with requisite key events to make
this work properly.




From: Fred Esch [mailto:fesch@us.ibm.com]
Sent: Thursday, February 04, 2016 4:37 AM
To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>; Matt King <
a11ythinker@gmail.com>
Cc: 'Accessible Rich Internet Applications Working Group' <
public-aria@w3.org>
Subject: RE: grids vs sortable tables


Bryan,

I found a working ng-table example online. I also am attaching a screen
scraped table that may use some ng-table functionality, but differs from
the pure ng-table example in that the data portion of the table is
generated with ng-repeat. I cut down some class names, don't include the
JavaScript or CSS files and wrapped the table in a plain HTML file so the
table will render in a browser, but without CSS it is ugly and without
JavaScript the sort isn't functional.

The working example should provide any ng-table specific info you need.
(See attached file: table.html)


                                              
     Regards,                                 
                                              
    Fred Esch                                 
 Watson, IBM, W3C                             
  Accessibility                               
                                              
 IBM Watson       Watson Release Management   
                  and Quality                 
                                              






Inactive hide details for Bryan Garaventa ---02/03/2016 06:56:27 PM---If
you could do that and send this through as a txt file Bryan Garaventa
---02/03/2016 06:56:27 PM---If you could do that and send this through as a
txt file that would help, knowing the structure is t

From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
To: Fred Esch/Arlington/IBM@IBMUS
Cc: Matt King <a11ythinker@gmail.com>, "'W3C WAI Accessible Platform
Architectures'" <public-apa@w3.org>, "'Accessible Rich Internet
Applications Working Group'" <public-aria@w3.org>
Date: 02/03/2016 06:56 PM
Subject: RE: grids vs sortable tables






If you could do that and send this through as a txt file that would help,
knowing the structure is the best way to identify the most common potential
issues.

From: Fred Esch [mailto:fesch@us.ibm.com]
Sent: Wednesday, February 03, 2016 1:39 PM
To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
Cc: Matt King <a11ythinker@gmail.com>; 'W3C WAI Accessible Platform
Architectures' <public-apa@w3.org>; 'Accessible Rich Internet Applications
Working Group' <public-aria@w3.org>
Subject: RE: grids vs sortable tables


Bryan,

I can't point to a live example. Most of the issues I run across are in
products that are a few months from going out the door. The best I can do
is screen scape the DOM.


                                                            
     Regards,                                               
                                                            
    Fred Esch                                               
 Watson, IBM, W3C                                           
  Accessibility                                             
                                                            
 IBM Watson       Watson Release Management and Quality     
                                                            






Inactive hide details for Bryan Garaventa ---02/03/2016 11:49:31 AM---Can
you point to a live example of this? Thanks,Bryan Garaventa ---02/03/2016
11:49:31 AM---Can you point to a live example of this? Thanks,

From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
To: Fred Esch/Arlington/IBM@IBMUS
Cc: Matt King <a11ythinker@gmail.com>, "'W3C WAI Accessible Platform
Architectures'" <public-apa@w3.org>, "'Accessible Rich Internet
Applications Working Group'" <public-aria@w3.org>
Date: 02/03/2016 11:49 AM
Subject: RE: grids vs sortable tables







Can you point to a live example of this?
Thanks,
Bryan

From: Fred Esch [mailto:fesch@us.ibm.com]
Sent: Wednesday, February 03, 2016 5:57 AM
To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
Cc: Matt King <a11ythinker@gmail.com>; 'W3C WAI Accessible Platform
Architectures' <public-apa@w3.org>; 'Accessible Rich Internet Applications
Working Group' <public-aria@w3.org>
Subject: RE: grids vs sortable tables


Bryan and Matt,

What all do you recommend for a structure for a sortable table. Is there an
ideal example? If you were looking at fixing a widely used library and
donating back the fix, what you want the widely used sortable table to look
like? For instance, if you were looking at angularJS's ng-table what you
want changed?


                                                            
     Regards,                                               
                                                            
    Fred Esch                                               
 Watson, IBM, W3C                                           
  Accessibility                                             
                                                            
 IBM Watson       Watson Release Management and Quality     
                                                            






Inactive hide details for Bryan Garaventa ---02/02/2016 12:57:22 PM---It
should still be possible to do something like the follBryan Garaventa
---02/02/2016 12:57:22 PM---It should still be possible to do something
like the following. <table>

From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
To: Fred Esch/Arlington/IBM@IBMUS, Matt King <a11ythinker@gmail.com>
Cc: "'W3C WAI Accessible Platform Architectures'" <public-apa@w3.org>,
"'Accessible Rich Internet Applications Working Group'" <public-aria@w3.org
>
Date: 02/02/2016 12:57 PM
Subject: RE: grids vs sortable tables








It should still be possible to do something like the following.

<table>
<tr>
<th aria-sort="ascending">
<a href="#"> Name </a>
</th>
<th aria-sort="none">
<a href="#"> Email </a>
</th>
</tr>
<tr>
<td>
Twoflower
</td>
<td>
Inn-sewer-ants@discworld.com
</td>
</tr>
</table>

Or the same using its equivalent role=”table” on a simulated construct.
This is documented in the ARIA 1.1 spec for use with both tables and grids.



From: Fred Esch [mailto:fesch@us.ibm.com]
Sent: Tuesday, February 02, 2016 5:46 AM
To: Matt King <a11ythinker@gmail.com>
Cc: 'W3C WAI Accessible Platform Architectures' <public-apa@w3.org>;
'Accessible Rich Internet Applications Working Group' <public-aria@w3.org>
Subject: RE: grids vs sortable tables


Matt,

I assumed the table sortable attribute and the th sorted attributes were
passed on to AT. I assumed that when a sorted state was announced, the user
would know that you could sort on that column - using the mouse or enter
key. I didn't know the HTML attributes were going away.

Deque's sortable table example uses role of grid and aria-sort on the th
elements aria-sort='none' when it is sortable but not sorted by that
column. I would suggest making an W3C example for sortable tables since the
current HTML spec can cause confusion between grids and tables.


                                                            
     Regards,                                               
                                                            
    Fred Esch                                               
 Watson, IBM, W3C                                           
  Accessibility                                             
                                                            
 IBM Watson       Watson Release Management and Quality     
                                                            






Inactive hide details for Matt King ---02/01/2016 02:49:12 PM---Fred,Matt
King ---02/01/2016 02:49:12 PM---Fred,

From: Matt King <a11ythinker@gmail.com>
To: Fred Esch/Arlington/IBM@IBMUS, "'Steve Faulkner'" <
faulkner.steve@gmail.com>
Cc: "'Accessible Rich Internet Applications Working Group'" <
public-aria@w3.org>, "'W3C WAI Accessible Platform Architectures'" <
public-apa@w3.org>
Date: 02/01/2016 02:49 PM
Subject: RE: grids vs sortable tables









Fred,

Is it necessary to have a property on the table to tell the user that a
particular TH inside that table contains an interactive element for sorting
that column?

Matt

From: Fred Esch [mailto:fesch@us.ibm.com]
Sent: Monday, February 1, 2016 9:57 AM
To: Steve Faulkner <faulkner.steve@gmail.com>
Cc: Accessible Rich Internet Applications Working Group <public-aria@w3.org
>; W3C WAI Accessible Platform Architectures <public-apa@w3.org>
Subject: Re: grids vs sortable tables


Steve,

There are sortable tables being used in the wild, for example angularJS's
ng-table. How are developers supposed to tell AT users that a table is
sortable and a column can be sorted if the sortable and sorted properties
are removed?

Sortable tables are important for accessibility as they are often used as
an accessible alternative to charts. Even when you can make a chart
accessible, when you a huge number of data rows - you want a better way for
an AT user to find the max/min values than walking all the data members.
For instance, providing a sortable table will be more usable than having an
accessible bar chart and forcing an AT user to walk 200 bars to find the
top five bars. Personally, if I had to get the top five values from a huge
bar chart I would prefer a sortable table as well.


                                                            
     Regards,                                               
                                                            
    Fred Esch                                               
 Watson, IBM, W3C                                           
  Accessibility                                             
                                                            
 IBM Watson       Watson Release Management and Quality     
                                                            






Inactive hide details for Steve Faulkner ---01/29/2016 04:58:04 PM---On 29
January 2016 at 20:07, Fred Esch <fesch@us.ibm.com> Steve Faulkner
---01/29/2016 04:58:04 PM---On 29 January 2016 at 20:07, Fred Esch <
fesch@us.ibm.com> wrote: > A table element can have a *'sort

From: Steve Faulkner <faulkner.steve@gmail.com>
To: Fred Esch/Arlington/IBM@IBMUS
Cc: Matt King <a11ythinker@gmail.com>, Accessible Rich Internet
Applications Working Group <public-aria@w3.org>
Date: 01/29/2016 04:58 PM
Subject: Re: grids vs sortable tables











On 29 January 2016 at 20:07, Fred Esch <fesch@us.ibm.com> wrote:
A table element can have a 'sortable' attribute which designates you can
sort on columns.


note the table sorting algorithm and associated attribute have been removed
from the whatwg HTML spec due to a lack of implementer interest and suggest
the same fate will befall this feature in W3C HTML, sooner rather than
later.

--

Regards

SteveF
Current Standards Work @W3C(See attached file: table.html)



--
--

Regards

SteveF
Current Standards Work @W3C

Received on Tuesday, 9 February 2016 15:07:16 UTC