ARIA introduces 2 roles for tabular information: table and grid. While table is static table, grids are interactive widgets.
JAWS in Forms mode, when tabbed into the grid, emits the semantic role of "table" for the grid.
To reproduce, you need a grid made with <table role="grid" aria-label="Example">
I've uploaded a text file, rename an extension to .html and open it in Chrome.
odan_257_grid_role2.txt
There is a text field which has no relationship with the grid, but needed to set focus outside of the grid and switch JAWS to Forms mode.
Set focus to the first field. Switch JAWS to Forms mode automatically or manually (depending on your JAWS settings).
Confirm the current JAWS mode by pressing alt-del.
Press Tab key to jump into simplified Grid example.
JAWS transcript:
Example table
Column 1, Row 2
Example
Head r1 c3 // this is the row header
Col 1 // this is the column header
Cell r1 c1 // The first cell content
column 1 row 2 // Focused cell coordinates
The bug: grid role is not emitted, but the role "table" emitted instead.
Please, emit role "grid" for static tables, and "grid" for elements with role "grid".
BTW, use "t" quick navigation key in Virtual PC Cursor mode. JAWS correctly emits the grid role, the same is expected in Forms mode.
Expected result
The control type of the widget should be "grid", not "table".
Please, do not forget about sound and speech schema of JAWS, if this feature is not depricated.
Sound and speech schema allows to assign a dedicated voice alias for any role like button, combo box, etc, including the grid role.
Thus, "grid" should be emitted according to Sound and Speech Schema settings.
Actual result
The role "grid" is not emitted at all, but the role "table" is emitted ignoring Sound and Speech schema settings.
"The table role is intended for tabular containers which are not interactive. If the tabular container maintains a selection state, provides its own two-dimensional navigation, or allows the user to rearrange or otherwise manipulate its contents or the display thereof, authors SHOULD use grid or treegrid instead."
Additional Information
Reproducible with default JAWS settings - also incorrectly emits wrong role "table" for grids when tabbed into in Forms mode.
Please, use Forms mode to reproduce this bug, not the Virtual PC Cursor mode.
The example grid is significantly simplified, no JS attached, just role="grid" and tabstop in the grid cell.
JAWS version and build number
JAWS version 2024.2405.48.400
Operating System and version
Microsoft Windows 11 Professional Version 23H2 (OS Build 22631.3447), System Type x64
The roles grid and table are effectively mapped to the same properties in accessibility APIs so JAWS does nothing incorrectly in regards to their announcement.
Summary
ARIA introduces 2 roles for tabular information: table and grid. While table is static table, grids are interactive widgets. JAWS in Forms mode, when tabbed into the grid, emits the semantic role of "table" for the grid.
To reproduce, you need a grid made with <table role="grid" aria-label="Example"> I've uploaded a text file, rename an extension to .html and open it in Chrome. odan_257_grid_role2.txt There is a text field which has no relationship with the grid, but needed to set focus outside of the grid and switch JAWS to Forms mode. Set focus to the first field. Switch JAWS to Forms mode automatically or manually (depending on your JAWS settings). Confirm the current JAWS mode by pressing alt-del. Press Tab key to jump into simplified Grid example. JAWS transcript:
The bug: grid role is not emitted, but the role "table" emitted instead.
Please, emit role "grid" for static tables, and "grid" for elements with role "grid". BTW, use "t" quick navigation key in Virtual PC Cursor mode. JAWS correctly emits the grid role, the same is expected in Forms mode.
Expected result
The control type of the widget should be "grid", not "table". Please, do not forget about sound and speech schema of JAWS, if this feature is not depricated. Sound and speech schema allows to assign a dedicated voice alias for any role like button, combo box, etc, including the grid role. Thus, "grid" should be emitted according to Sound and Speech Schema settings.
Actual result
The role "grid" is not emitted at all, but the role "table" is emitted ignoring Sound and Speech schema settings.
Links to ARIA
Role table: https://www.w3.org/TR/wai-aria-1.2/#table A section containing data arranged in rows and columns. See related grid.
"The table role is intended for tabular containers which are not interactive. If the tabular container maintains a selection state, provides its own two-dimensional navigation, or allows the user to rearrange or otherwise manipulate its contents or the display thereof, authors SHOULD use grid or treegrid instead."
Additional Information
Reproducible with default JAWS settings - also incorrectly emits wrong role "table" for grids when tabbed into in Forms mode. Please, use Forms mode to reproduce this bug, not the Virtual PC Cursor mode. The example grid is significantly simplified, no JS attached, just role="grid" and tabstop in the grid cell.
JAWS version and build number
JAWS version 2024.2405.48.400
Operating System and version
Microsoft Windows 11 Professional Version 23H2 (OS Build 22631.3447), System Type x64
Browser and version:
Google Chrome Version 124.0.6367.207