WebAIM - Web Accessibility In Mind

E-mail List Archives

Thread: The ARIA Data Grid Module has been released, and supports readonly data grids, single and multi-row selection, editable strings and toggle values, full keyboard and screen reader accessibility.

for

Number of posts in this thread: 4 (In chronological order)

From: Bryan Garaventa
Date: Sat, Nov 30 2013 1:50PM
Subject: The ARIA Data Grid Module has been released, and supports readonly data grids, single and multi-row selection, editable strings and toggle values, full keyboard and screen reader accessibility.
No previous message | Next message →

The ARIA Data Grid Module has been released, and supports readonly data grids, single and multi-row selection, editable strings and toggle values, auto pagination and infinite scrolling, dynamic loading of any number of data table rows, change listeners for server side data base synchronization, full keyboard and screen reader accessibility, and quite a bit more.

E.G Live demo: http://whatsock.com/tsg/Coding%20Arena/ARIA%20Data%20Grids/ARIA%20Data%20Grid%20(Dynamic)/demo.htm
(Keyboard commands are indexed at the bottom of the page)

The coding instructions for using the grid control are documented in the new ARIA Data Grids section at
http://whatsock.com/tsg
The code of which normalizes equally across jQuery, Dojo, and MooTools. All relevant ARIA attributes are also indexed there.

The ARIA Data Grid has also been added to the Coding Arena at
https://github.com/accdc/tsg
Including all related mirrors.

Here are some important accessibility notes and design details to be aware of, which will effect anyone who is making similar constructs, which also expose some current screen reader bugs that need to be reported.

Accessibility confirmed using:

• The keyboard with no screen reader running.
• JAWS 12, 13, 14, and 15 using Firefox and IE 8, 9, and 10 in Win XP, Win7, and Win8.
• NVDA using Firefox and IE 8, 9, and 10 in Win XP, Win7, and Win8.
• VoiceOver using Safari in iOS7.

Notes about keyboard interactivity

A focusable ARIA Grid is a complicated concept, and there are only a certain number of keyboard commands available that don't directly conflict with the screen reader or browser. The following keyboard commands should not be used for this reason:

• Control+PageUp/PageDown: Is automatically intercepted by JAWS and never gets passed through to the grid.
• Control+Up/Down: Is automatically intercepted by JAWS and never gets passed through to the grid.
• Alt+Home: Automatically loads the home page in the browser.
• Alt+Left/Right: Automatically activates the Back and Forward buttons in the browser.

Notes about mouse interactivity

When activating a selectable row or editable cell using the mouse, double click must be used. If a single click is used to invoke this functionality, it will conflict with screen reader behavior. For example, when browsing the page using JAWS in Virtual Cursor mode, it is necessary to press Enter on the desired grid cell to enter Applications Mode. When JAWS does this, it automatically activates the click event, which automatically invokes selection or editing for that cell. When double click is used instead, this conflict does not occur. Single tapping of a selectable or editable cell using a touch screen device however, works using one click.

ARIA Grid screen reader bugs

JAWS:
1. JAWS does not properly announce the value of aria-selected when set to 'true' on selectable rows and cells when navigating in Applications Mode.
2. When in Applications Mode, JAWS reads the column and row headers after the cell content instead of before as typically seen within data tables.
3. When a Button has no innerText, and the title attribute is used to set a textual label, the button is announced only as "button" when arrowing down the page in Firefox. If an aria-label attribute is added to fix this, then the buttons entirely disappear in IE 8, 9, and 10. Confirmed using JAWS 14 and 15.

NVDA:
1. When in Applications Mode, NVDA announces 'selected' for every cell that receives focus, making it very difficult to tell the difference when aria-selected is used to toggle selection for a row, since both are announced as 'selected'.
2. When using Firefox in Browse Mode, it is not possible to use NVDA table navigation commands such as Alt+Ctrl+Left/Up/Right/Down within the grid to navigate by cell. No table structure is recognized.
3. When in Applications Mode, pressing Up and Down to navigate by column cell will read the content of the entire row instead of just the cell that received focus. (This may be a feature, I'm not sure)
4. When aria-readonly='true' is applied to a container with role='grid' or role='gridcell', NVDA prevents focus from being set to that node and there is no way to maintain Applications Mode for continued navigation using the arrow keys. According to the ARIA spec, focusability should not be effected by aria-readonly.
E.G
"This means the user can read but not set the value of the widget. Readonly elements are relevant to the user, and application authors SHOULD NOT restrict navigation to the element or its focusable descendants. Other actions such as copying the value of the element are also supported. This is in contrast to disabled elements, to which applications might not allow user navigation to descendants."
(Reference: http://www.w3.org/TR/2011/CR-wai-aria-20110118/states_and_properties#aria-readonly)

VoiceOver on iOS7:
1. The select state of rows and cells that include aria-selected='true' is not conveyed by Voiceover.

ARIA Data Grid keyboard commands:

Set focus to the grid and enter Applications Mode if using a screen reader like JAWS or NVDA.
Press Up or Down to navigate by row. (Infinite scrolling is supported)
Press Control+Spacebar to announce the current row when using a screen reader.
Press Alt+Up or Alt+Down to set focus to the first or last row on the current page.
Press Left or Right to navigate left or right by cell.
Press Home or End to move to the first or last cell on the current row.
Press Control+Home or Control+End to move to the first row on the first page or the last row on the last page.
Press PageUp or PageDown to open the previous or next page and set focus to the first row.
Press Alt+PageUp or Alt+PageDown to open the first or last page and set focus to the first row.

For mode 'Selectable':
Press Space to toggle row selection, or double click to activate using a mouse.
If multiSelect is enabled, press Control+A to select all rows on the current page.
If Delete is enabled, press Delete to remove all selected rows.

For mode 'Editable':
Press Enter or Space to edit or toggle a cell, or double click to activate using a mouse.

From: Bryan Garaventa
Date: Sun, Dec 01 2013 12:41AM
Subject: Re: The ARIA Data Grid Module has been released, and supports readonly data grids, single and multi-row selection, editable strings and toggle values, full keyboard and screen reader accessibility.
← Previous message | Next message →

One small update,
I was trying to see if it were possible to consolidate double click vs
single click activation of selectable rows and editable cells, and still
make it possible to enter Applications Mode for navigation for screen reader
users, so I added a new method to the grid named 'useDblClick', which can be
used to enable or disable this feature programmatically.
E.G grid.useDblClick(true);

Unfortunately this appears to be a catch 22, and the method that works best
for ensuring accessibility in JAWS, causes accessibility issues in NVDA.

For example, using double click allows a JAWS user to navigate to the grid
cell using the Virtual Cursor and press Enter to enter Applications Mode for
arrow navigation, regardless whether the cell is readonly, selectable, or
editable.

NVDA however, will not enter Applications Mode when Enter is pressed on an
ARIA Grid, and double click is ignored, so it appears that the cell or row
cannot be activated as a result, even though it is fully keyboard accessible
and actionable from the keyboard.

I've changed all of the grid demos to use single click activation so that
they at least can be activated in NVDA, even though doing this makes it more
difficult to enter Applications Mode in JAWS.

Personally I think this is a bug in NVDA, since it should be possible to
both navigate an ARIA Grid using table navigation commands in Browse Mode,
as well as press enter to invoke Applications Mode for grid based
interaction if desired, since it is technically one large field with one tab
stop.

----- Original Message -----
From: "Bryan Garaventa" < = EMAIL ADDRESS REMOVED = >
To: "WebAIM Discussion List" < = EMAIL ADDRESS REMOVED = >
Sent: Saturday, November 30, 2013 12:50 PM
Subject: [WebAIM] The ARIA Data Grid Module has been released,and supports
readonly data grids, single and multi-row selection,editable strings and
toggle values,full keyboard and screen reader accessibility.


The ARIA Data Grid Module has been released, and supports readonly data
grids, single and multi-row selection, editable strings and toggle values,
auto pagination and infinite scrolling, dynamic loading of any number of
data table rows, change listeners for server side data base synchronization,
full keyboard and screen reader accessibility, and quite a bit more.

E.G Live demo:
http://whatsock.com/tsg/Coding%20Arena/ARIA%20Data%20Grids/ARIA%20Data%20Grid%20(Dynamic)/demo.htm
(Keyboard commands are indexed at the bottom of the page)

The coding instructions for using the grid control are documented in the new
ARIA Data Grids section at
http://whatsock.com/tsg
The code of which normalizes equally across jQuery, Dojo, and MooTools. All
relevant ARIA attributes are also indexed there.

The ARIA Data Grid has also been added to the Coding Arena at
https://github.com/accdc/tsg
Including all related mirrors.

Here are some important accessibility notes and design details to be aware
of, which will effect anyone who is making similar constructs, which also
expose some current screen reader bugs that need to be reported.

Accessibility confirmed using:

• The keyboard with no screen reader running.
• JAWS 12, 13, 14, and 15 using Firefox and IE 8, 9, and 10 in Win XP, Win7,
and Win8.
• NVDA using Firefox and IE 8, 9, and 10 in Win XP, Win7, and Win8.
• VoiceOver using Safari in iOS7.

Notes about keyboard interactivity

A focusable ARIA Grid is a complicated concept, and there are only a certain
number of keyboard commands available that don't directly conflict with the
screen reader or browser. The following keyboard commands should not be used
for this reason:

• Control+PageUp/PageDown: Is automatically intercepted by JAWS and never
gets passed through to the grid.
• Control+Up/Down: Is automatically intercepted by JAWS and never gets
passed through to the grid.
• Alt+Home: Automatically loads the home page in the browser.
• Alt+Left/Right: Automatically activates the Back and Forward buttons in
the browser.

Notes about mouse interactivity

When activating a selectable row or editable cell using the mouse, double
click must be used. If a single click is used to invoke this functionality,
it will conflict with screen reader behavior. For example, when browsing the
page using JAWS in Virtual Cursor mode, it is necessary to press Enter on
the desired grid cell to enter Applications Mode. When JAWS does this, it
automatically activates the click event, which automatically invokes
selection or editing for that cell. When double click is used instead, this
conflict does not occur. Single tapping of a selectable or editable cell
using a touch screen device however, works using one click.

ARIA Grid screen reader bugs

JAWS:
1. JAWS does not properly announce the value of aria-selected when set to
'true' on selectable rows and cells when navigating in Applications Mode.
2. When in Applications Mode, JAWS reads the column and row headers after
the cell content instead of before as typically seen within data tables.
3. When a Button has no innerText, and the title attribute is used to set a
textual label, the button is announced only as "button" when arrowing down
the page in Firefox. If an aria-label attribute is added to fix this, then
the buttons entirely disappear in IE 8, 9, and 10. Confirmed using JAWS 14
and 15.

NVDA:
1. When in Applications Mode, NVDA announces 'selected' for every cell that
receives focus, making it very difficult to tell the difference when
aria-selected is used to toggle selection for a row, since both are
announced as 'selected'.
2. When using Firefox in Browse Mode, it is not possible to use NVDA table
navigation commands such as Alt+Ctrl+Left/Up/Right/Down within the grid to
navigate by cell. No table structure is recognized.
3. When in Applications Mode, pressing Up and Down to navigate by column
cell will read the content of the entire row instead of just the cell that
received focus. (This may be a feature, I'm not sure)
4. When aria-readonly='true' is applied to a container with role='grid' or
role='gridcell', NVDA prevents focus from being set to that node and there
is no way to maintain Applications Mode for continued navigation using the
arrow keys. According to the ARIA spec, focusability should not be effected
by aria-readonly.
E.G
"This means the user can read but not set the value of the widget. Readonly
elements are relevant to the user, and application authors SHOULD NOT
restrict navigation to the element or its focusable descendants. Other
actions such as copying the value of the element are also supported. This is
in contrast to disabled elements, to which applications might not allow user
navigation to descendants."
(Reference:
http://www.w3.org/TR/2011/CR-wai-aria-20110118/states_and_properties#aria-readonly)

VoiceOver on iOS7:
1. The select state of rows and cells that include aria-selected='true' is
not conveyed by Voiceover.

ARIA Data Grid keyboard commands:

Set focus to the grid and enter Applications Mode if using a screen reader
like JAWS or NVDA.
Press Up or Down to navigate by row. (Infinite scrolling is supported)
Press Control+Spacebar to announce the current row when using a screen
reader.
Press Alt+Up or Alt+Down to set focus to the first or last row on the
current page.
Press Left or Right to navigate left or right by cell.
Press Home or End to move to the first or last cell on the current row.
Press Control+Home or Control+End to move to the first row on the first page
or the last row on the last page.
Press PageUp or PageDown to open the previous or next page and set focus to
the first row.
Press Alt+PageUp or Alt+PageDown to open the first or last page and set
focus to the first row.

For mode 'Selectable':
Press Space to toggle row selection, or double click to activate using a
mouse.
If multiSelect is enabled, press Control+A to select all rows on the current
page.
If Delete is enabled, press Delete to remove all selected rows.

For mode 'Editable':
Press Enter or Space to edit or toggle a cell, or double click to activate
using a mouse.

From: Lucy Greco
Date: Mon, Dec 02 2013 8:59AM
Subject: Re: The ARIA Data Grid Module has been released, and supports readonly data grids, single and multi-row selection, editable strings and toggle values, full keyboard and screen reader accessibility.
← Previous message | Next message →

Have you sent this off to nvda then there about to release a new version
maybe they will fix it

Lucia Greco
Web Access Analyst
IST-Campus Technology Services
University of California, Berkeley
(510) 289-6008 skype: lucia1-greco
http://webaccess.berkeley.edu
Follow me on twitter @accessaces


-----Original Message-----
From: = EMAIL ADDRESS REMOVED =
[mailto: = EMAIL ADDRESS REMOVED = ] On Behalf Of Bryan Garaventa
Sent: Saturday, November 30, 2013 11:41 PM
To: WebAIM Discussion List
Subject: Re: [WebAIM] The ARIA Data Grid Module has been released, and
supports readonly data grids, single and multi-row selection, editable
strings and toggle values, full keyboard and screen reader accessibility.

One small update,
I was trying to see if it were possible to consolidate double click vs
single click activation of selectable rows and editable cells, and still
make it possible to enter Applications Mode for navigation for screen
reader users, so I added a new method to the grid named 'useDblClick',
which can be used to enable or disable this feature programmatically.
E.G grid.useDblClick(true);

Unfortunately this appears to be a catch 22, and the method that works
best for ensuring accessibility in JAWS, causes accessibility issues in
NVDA.

For example, using double click allows a JAWS user to navigate to the grid
cell using the Virtual Cursor and press Enter to enter Applications Mode
for arrow navigation, regardless whether the cell is readonly, selectable,
or editable.

NVDA however, will not enter Applications Mode when Enter is pressed on an
ARIA Grid, and double click is ignored, so it appears that the cell or row
cannot be activated as a result, even though it is fully keyboard
accessible and actionable from the keyboard.

I've changed all of the grid demos to use single click activation so that
they at least can be activated in NVDA, even though doing this makes it
more difficult to enter Applications Mode in JAWS.

Personally I think this is a bug in NVDA, since it should be possible to
both navigate an ARIA Grid using table navigation commands in Browse Mode,
as well as press enter to invoke Applications Mode for grid based
interaction if desired, since it is technically one large field with one
tab stop.

----- Original Message -----
From: "Bryan Garaventa" < = EMAIL ADDRESS REMOVED = >
To: "WebAIM Discussion List" < = EMAIL ADDRESS REMOVED = >
Sent: Saturday, November 30, 2013 12:50 PM
Subject: [WebAIM] The ARIA Data Grid Module has been released,and supports
readonly data grids, single and multi-row selection,editable strings and
toggle values,full keyboard and screen reader accessibility.


The ARIA Data Grid Module has been released, and supports readonly data
grids, single and multi-row selection, editable strings and toggle values,
auto pagination and infinite scrolling, dynamic loading of any number of
data table rows, change listeners for server side data base
synchronization, full keyboard and screen reader accessibility, and quite
a bit more.

E.G Live demo:
http://whatsock.com/tsg/Coding%20Arena/ARIA%20Data%20Grids/ARIA%20Data%20G
rid%20(Dynamic)/demo.htm
(Keyboard commands are indexed at the bottom of the page)

The coding instructions for using the grid control are documented in the
new ARIA Data Grids section at http://whatsock.com/tsg The code of which
normalizes equally across jQuery, Dojo, and MooTools. All relevant ARIA
attributes are also indexed there.

The ARIA Data Grid has also been added to the Coding Arena at
https://github.com/accdc/tsg Including all related mirrors.

Here are some important accessibility notes and design details to be aware
of, which will effect anyone who is making similar constructs, which also
expose some current screen reader bugs that need to be reported.

Accessibility confirmed using:

. The keyboard with no screen reader running.
. JAWS 12, 13, 14, and 15 using Firefox and IE 8, 9, and 10 in Win XP,
Win7, and Win8.
. NVDA using Firefox and IE 8, 9, and 10 in Win XP, Win7, and Win8.
. VoiceOver using Safari in iOS7.

Notes about keyboard interactivity

A focusable ARIA Grid is a complicated concept, and there are only a
certain number of keyboard commands available that don't directly conflict
with the screen reader or browser. The following keyboard commands should
not be used for this reason:

. Control+PageUp/PageDown: Is automatically intercepted by JAWS and never
gets passed through to the grid.
. Control+Up/Down: Is automatically intercepted by JAWS and never gets
passed through to the grid.
. Alt+Home: Automatically loads the home page in the browser.
. Alt+Left/Right: Automatically activates the Back and Forward buttons in
the browser.

Notes about mouse interactivity

When activating a selectable row or editable cell using the mouse, double
click must be used. If a single click is used to invoke this
functionality, it will conflict with screen reader behavior. For example,
when browsing the page using JAWS in Virtual Cursor mode, it is necessary
to press Enter on the desired grid cell to enter Applications Mode. When
JAWS does this, it automatically activates the click event, which
automatically invokes selection or editing for that cell. When double
click is used instead, this conflict does not occur. Single tapping of a
selectable or editable cell using a touch screen device however, works
using one click.

ARIA Grid screen reader bugs

JAWS:
1. JAWS does not properly announce the value of aria-selected when set to
'true' on selectable rows and cells when navigating in Applications Mode.
2. When in Applications Mode, JAWS reads the column and row headers after
the cell content instead of before as typically seen within data tables.
3. When a Button has no innerText, and the title attribute is used to set
a textual label, the button is announced only as "button" when arrowing
down the page in Firefox. If an aria-label attribute is added to fix this,
then the buttons entirely disappear in IE 8, 9, and 10. Confirmed using
JAWS 14 and 15.

NVDA:
1. When in Applications Mode, NVDA announces 'selected' for every cell
that
receives focus, making it very difficult to tell the difference when
aria-selected is used to toggle selection for a row, since both are
announced as 'selected'.
2. When using Firefox in Browse Mode, it is not possible to use NVDA table

navigation commands such as Alt+Ctrl+Left/Up/Right/Down within the grid to

navigate by cell. No table structure is recognized.
3. When in Applications Mode, pressing Up and Down to navigate by column
cell will read the content of the entire row instead of just the cell that

received focus. (This may be a feature, I'm not sure)
4. When aria-readonly='true' is applied to a container with role='grid' or

role='gridcell', NVDA prevents focus from being set to that node and there

is no way to maintain Applications Mode for continued navigation using the

arrow keys. According to the ARIA spec, focusability should not be
effected
by aria-readonly.
E.G
"This means the user can read but not set the value of the widget.
Readonly
elements are relevant to the user, and application authors SHOULD NOT
restrict navigation to the element or its focusable descendants. Other
actions such as copying the value of the element are also supported. This
is
in contrast to disabled elements, to which applications might not allow
user
navigation to descendants."
(Reference:
http://www.w3.org/TR/2011/CR-wai-aria-20110118/states_and_properties#aria-
readonly)

VoiceOver on iOS7:
1. The select state of rows and cells that include aria-selected='true' is

not conveyed by Voiceover.

ARIA Data Grid keyboard commands:

Set focus to the grid and enter Applications Mode if using a screen reader

like JAWS or NVDA.
Press Up or Down to navigate by row. (Infinite scrolling is supported)
Press Control+Spacebar to announce the current row when using a screen
reader.
Press Alt+Up or Alt+Down to set focus to the first or last row on the
current page.
Press Left or Right to navigate left or right by cell.
Press Home or End to move to the first or last cell on the current row.
Press Control+Home or Control+End to move to the first row on the first
page
or the last row on the last page.
Press PageUp or PageDown to open the previous or next page and set focus
to
the first row.
Press Alt+PageUp or Alt+PageDown to open the first or last page and set
focus to the first row.

For mode 'Selectable':
Press Space to toggle row selection, or double click to activate using a
mouse.
If multiSelect is enabled, press Control+A to select all rows on the
current
page.
If Delete is enabled, press Delete to remove all selected rows.

For mode 'Editable':
Press Enter or Space to edit or toggle a cell, or double click to activate

using a mouse.

From: Bryan Garaventa
Date: Mon, Dec 02 2013 10:29AM
Subject: Re: The ARIA Data Grid Module has been released, and supports readonly data grids, single and multi-row selection, editable strings and toggle values, full keyboard and screen reader accessibility.
← Previous message | No next message

I haven't had time to enter any bugs against, but anyone is welcome to
verify the issues on the live demo. I'll try to take care of this later,
it's sort of hectic.

----- Original Message -----
From: "Lucy Greco" < = EMAIL ADDRESS REMOVED = >
To: "WebAIM Discussion List" < = EMAIL ADDRESS REMOVED = >
Sent: Monday, December 02, 2013 7:59 AM
Subject: Re: [WebAIM] The ARIA Data Grid Module has been released, and
supports readonly data grids, single and multi-row selection, editable
strings and toggle values, full keyboard and screen reader accessibility.


> Have you sent this off to nvda then there about to release a new version
> maybe they will fix it
>
> Lucia Greco
> Web Access Analyst
> IST-Campus Technology Services
> University of California, Berkeley
> (510) 289-6008 skype: lucia1-greco
> http://webaccess.berkeley.edu
> Follow me on twitter @accessaces
>
>
> -----Original Message-----
> From: = EMAIL ADDRESS REMOVED =
> [mailto: = EMAIL ADDRESS REMOVED = ] On Behalf Of Bryan Garaventa
> Sent: Saturday, November 30, 2013 11:41 PM
> To: WebAIM Discussion List
> Subject: Re: [WebAIM] The ARIA Data Grid Module has been released, and
> supports readonly data grids, single and multi-row selection, editable
> strings and toggle values, full keyboard and screen reader accessibility.
>
> One small update,
> I was trying to see if it were possible to consolidate double click vs
> single click activation of selectable rows and editable cells, and still
> make it possible to enter Applications Mode for navigation for screen
> reader users, so I added a new method to the grid named 'useDblClick',
> which can be used to enable or disable this feature programmatically.
> E.G grid.useDblClick(true);
>
> Unfortunately this appears to be a catch 22, and the method that works
> best for ensuring accessibility in JAWS, causes accessibility issues in
> NVDA.
>
> For example, using double click allows a JAWS user to navigate to the grid
> cell using the Virtual Cursor and press Enter to enter Applications Mode
> for arrow navigation, regardless whether the cell is readonly, selectable,
> or editable.
>
> NVDA however, will not enter Applications Mode when Enter is pressed on an
> ARIA Grid, and double click is ignored, so it appears that the cell or row
> cannot be activated as a result, even though it is fully keyboard
> accessible and actionable from the keyboard.
>
> I've changed all of the grid demos to use single click activation so that
> they at least can be activated in NVDA, even though doing this makes it
> more difficult to enter Applications Mode in JAWS.
>
> Personally I think this is a bug in NVDA, since it should be possible to
> both navigate an ARIA Grid using table navigation commands in Browse Mode,
> as well as press enter to invoke Applications Mode for grid based
> interaction if desired, since it is technically one large field with one
> tab stop.
>
> ----- Original Message -----
> From: "Bryan Garaventa" < = EMAIL ADDRESS REMOVED = >
> To: "WebAIM Discussion List" < = EMAIL ADDRESS REMOVED = >
> Sent: Saturday, November 30, 2013 12:50 PM
> Subject: [WebAIM] The ARIA Data Grid Module has been released,and supports
> readonly data grids, single and multi-row selection,editable strings and
> toggle values,full keyboard and screen reader accessibility.
>
>
> The ARIA Data Grid Module has been released, and supports readonly data
> grids, single and multi-row selection, editable strings and toggle values,
> auto pagination and infinite scrolling, dynamic loading of any number of
> data table rows, change listeners for server side data base
> synchronization, full keyboard and screen reader accessibility, and quite
> a bit more.
>
> E.G Live demo:
> http://whatsock.com/tsg/Coding%20Arena/ARIA%20Data%20Grids/ARIA%20Data%20G
> rid%20(Dynamic)/demo.htm
> (Keyboard commands are indexed at the bottom of the page)
>
> The coding instructions for using the grid control are documented in the
> new ARIA Data Grids section at http://whatsock.com/tsg The code of which
> normalizes equally across jQuery, Dojo, and MooTools. All relevant ARIA
> attributes are also indexed there.
>
> The ARIA Data Grid has also been added to the Coding Arena at
> https://github.com/accdc/tsg Including all related mirrors.
>
> Here are some important accessibility notes and design details to be aware
> of, which will effect anyone who is making similar constructs, which also
> expose some current screen reader bugs that need to be reported.
>
> Accessibility confirmed using:
>
> . The keyboard with no screen reader running.
> . JAWS 12, 13, 14, and 15 using Firefox and IE 8, 9, and 10 in Win XP,
> Win7, and Win8.
> . NVDA using Firefox and IE 8, 9, and 10 in Win XP, Win7, and Win8.
> . VoiceOver using Safari in iOS7.
>
> Notes about keyboard interactivity
>
> A focusable ARIA Grid is a complicated concept, and there are only a
> certain number of keyboard commands available that don't directly conflict
> with the screen reader or browser. The following keyboard commands should
> not be used for this reason:
>
> . Control+PageUp/PageDown: Is automatically intercepted by JAWS and never
> gets passed through to the grid.
> . Control+Up/Down: Is automatically intercepted by JAWS and never gets
> passed through to the grid.
> . Alt+Home: Automatically loads the home page in the browser.
> . Alt+Left/Right: Automatically activates the Back and Forward buttons in
> the browser.
>
> Notes about mouse interactivity
>
> When activating a selectable row or editable cell using the mouse, double
> click must be used. If a single click is used to invoke this
> functionality, it will conflict with screen reader behavior. For example,
> when browsing the page using JAWS in Virtual Cursor mode, it is necessary
> to press Enter on the desired grid cell to enter Applications Mode. When
> JAWS does this, it automatically activates the click event, which
> automatically invokes selection or editing for that cell. When double
> click is used instead, this conflict does not occur. Single tapping of a
> selectable or editable cell using a touch screen device however, works
> using one click.
>
> ARIA Grid screen reader bugs
>
> JAWS:
> 1. JAWS does not properly announce the value of aria-selected when set to
> 'true' on selectable rows and cells when navigating in Applications Mode.
> 2. When in Applications Mode, JAWS reads the column and row headers after
> the cell content instead of before as typically seen within data tables.
> 3. When a Button has no innerText, and the title attribute is used to set
> a textual label, the button is announced only as "button" when arrowing
> down the page in Firefox. If an aria-label attribute is added to fix this,
> then the buttons entirely disappear in IE 8, 9, and 10. Confirmed using
> JAWS 14 and 15.
>
> NVDA:
> 1. When in Applications Mode, NVDA announces 'selected' for every cell
> that
> receives focus, making it very difficult to tell the difference when
> aria-selected is used to toggle selection for a row, since both are
> announced as 'selected'.
> 2. When using Firefox in Browse Mode, it is not possible to use NVDA table
>
> navigation commands such as Alt+Ctrl+Left/Up/Right/Down within the grid to
>
> navigate by cell. No table structure is recognized.
> 3. When in Applications Mode, pressing Up and Down to navigate by column
> cell will read the content of the entire row instead of just the cell that
>
> received focus. (This may be a feature, I'm not sure)
> 4. When aria-readonly='true' is applied to a container with role='grid' or
>
> role='gridcell', NVDA prevents focus from being set to that node and there
>
> is no way to maintain Applications Mode for continued navigation using the
>
> arrow keys. According to the ARIA spec, focusability should not be
> effected
> by aria-readonly.
> E.G
> "This means the user can read but not set the value of the widget.
> Readonly
> elements are relevant to the user, and application authors SHOULD NOT
> restrict navigation to the element or its focusable descendants. Other
> actions such as copying the value of the element are also supported. This
> is
> in contrast to disabled elements, to which applications might not allow
> user
> navigation to descendants."
> (Reference:
> http://www.w3.org/TR/2011/CR-wai-aria-20110118/states_and_properties#aria-
> readonly)
>
> VoiceOver on iOS7:
> 1. The select state of rows and cells that include aria-selected='true' is
>
> not conveyed by Voiceover.
>
> ARIA Data Grid keyboard commands:
>
> Set focus to the grid and enter Applications Mode if using a screen reader
>
> like JAWS or NVDA.
> Press Up or Down to navigate by row. (Infinite scrolling is supported)
> Press Control+Spacebar to announce the current row when using a screen
> reader.
> Press Alt+Up or Alt+Down to set focus to the first or last row on the
> current page.
> Press Left or Right to navigate left or right by cell.
> Press Home or End to move to the first or last cell on the current row.
> Press Control+Home or Control+End to move to the first row on the first
> page
> or the last row on the last page.
> Press PageUp or PageDown to open the previous or next page and set focus
> to
> the first row.
> Press Alt+PageUp or Alt+PageDown to open the first or last page and set
> focus to the first row.
>
> For mode 'Selectable':
> Press Space to toggle row selection, or double click to activate using a
> mouse.
> If multiSelect is enabled, press Control+A to select all rows on the
> current
> page.
> If Delete is enabled, press Delete to remove all selected rows.
>
> For mode 'Editable':
> Press Enter or Space to edit or toggle a cell, or double click to activate
>
> using a mouse.
> > > >
> > > > > >