- From: Matthew King <mattking@us.ibm.com>
- Date: Mon, 29 Sep 2014 17:57:51 -0700
- To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
- Cc: Alexander Surkov <asurkov@mozilla.com>, Joseph Scheuhammer <clown@alum.mit.edu>, W3C WAI Protocols & Formats <public-pfwg@w3.org>, Alexander Surkov <surkov.alexander@gmail.com>, Yura Zenevich <yzenevich@mozilla.com>
- Message-ID: <OF7399BDDA.3BE51BEB-ON88257D63.0003BC71-88257D63.00054BF1@us.ibm.com>
Put those elements inside the gridcell just as you describe them.
That is all you should have to do in terms of markup.
The web app JS provides the keyboard navigation per the APG.
Now, if you are using a screen reader, when you put focus in the grid and
arrow among cells, the screen reader should read the cell contents, the
cell coordinates, and cell labels in whatever manner that screen reader
chooses to present that information.
If the cell content is a pressed toggle, the screen reader should read it
as such. If that toggle is the only thing in the cell, then pressing enter
or space should toggle the state if the web app designer has chosen to
make the cell actionable in grid navigation mode.
Further, if the cell content is an input of type text, pressing enter
should put focus in the edit and announce that is now in an edit field.
One challenge with some screen readers like JAWS is that when navigating
the grid, one must already be in forms mode. So, there would not be the
characteristic beep when the edit becomes editable. VoiceOver would not
have that problem.
JAWS doesn't really have a way of distinguishing between the navigation
mode and the actionable mode of a grid. And, I think there is a general
cause for questioning the need for a "actionable" mode. This is part of
the APG that I do not like. It seems to me that an interaction pattern
more like a typical spreadsheet would be better. That is, you are always
in navigation mode unless you choose to interact with a specific cell.
Then, when interacting with that cell, you stay in that cell till you are
done and jump back into navigation mode to move to another cell. This
would in effect make a single cell "quasi-modal", meaning you are stuck in
it from a keyboard perspective until you "leave it". There could be a
variety of ways of leaving, depending on the type of app.
Matt King
IBM Senior Technical Staff Member
I/T Chief Accessibility Strategist
IBM BT/CIO - Global Workforce and Web Process Enablement
Phone: (503) 578-2329, Tie line: 731-7398
mattking@us.ibm.com
From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
To: Joseph Scheuhammer <clown@alum.mit.edu>, Matthew
King/Fishkill/IBM@IBMUS, Alexander Surkov <surkov.alexander@gmail.com>,
Cc: Alexander Surkov <asurkov@mozilla.com>, W3C WAI Protocols &
Formats <public-pfwg@w3.org>, Yura Zenevich <yzenevich@mozilla.com>
Date: 09/29/2014 01:24 PM
Subject: RE: Operable Grid Cell
The problem here though isn't the mode of interaction, but rather, how to
convey differing types of gridcell types to the user.
Take the following example.
There is an interactive grid, with one row from left to right, that
contains four gridcell nodes.
The user, in Forms/Application mode using a screen reader, moves focus
between gridcell nodes using the arrow keys, and focus is moved between
each gridcell node (element with role=gridcell) specifically.
The leftmost gridcell is a toggle button, with a pressed state that needs
to be conveyed to the user.
The next gridcell is an editable string that needs to convey that it is
editable to the user.
The next gridcell is a listbox control that needs to be stepped into in
order to allow selection, and also has a default value that needs to be
conveyed to the user while focus is on the gridcell node, and the role of
listbox needs to be conveyed at the same time to convey the purpose of
this gridcell.
The next gridcell contains embedded content as well as active elements,
which is a mixed bag of control types that needs to be stepped into while
conveying this purpose to the user while focus is still on the gridcell.
So, how do you do all of these things at the same time without having to
resort to offscreen or explicit label strings like "LabelText Toggle
Button Pressed" for example?
-----Original Message-----
From: Joseph Scheuhammer [mailto:clown@alum.mit.edu]
Sent: Monday, September 29, 2014 12:12 PM
To: Matthew King; Alexander Surkov
Cc: Alexander Surkov; Bryan Garaventa; Joseph Scheuhammer; W3C WAI
Protocols & Formats; Yura Zenevich
Subject: Re: Operable Grid Cell
What Matt said.
I was going to point out that the APG section on grid, although centred on
keyboard access, does hint at how to treat individual gridcells as
"actionable" (the APG term) vs. "read-only".
But, Matt beat me to it.
--
;;;;joseph.
'Array(16).join("wat" - 1) + " Batman!"'
- G. Bernhardt -
Received on Tuesday, 30 September 2014 00:58:22 UTC