Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conflicts between JAWS table navigation short keys and custom implemented navigation keys(i.e. arrow keys)

Conflicts between JAWS table navigation short keys and custom implemented navigation keys(i.e. arrow keys)

I am trying to make an HTML table accessible using keyboard as well as readable using JAWS Screen reader.

To make it keyboard accessible i am doing following things: - Added keypress events on table cells for arrow keys (left, right, top, bottom)

To make it JAWS readable i am doing following things: - Added caption,summary to table - Added scope=col to table headers - Added ARIA roles like Application, row, grid, gridcell

Keyboard navigation is working fine when the page is run without using JAWS. JAWS also read the table fine provided JAWS shortcuts are used.

When it is run with JAWS custom implemented keyboard navigation does not work properly. To move focus to different cell using custom implemented keyboard navigation (i.e. arrow keys), i have use INSERT + 3 key followed by an arrow key. This will move focus to different cell but it will not change JAWS current cell focus. So when JAWS read, it will read the cell other than the actual focused cell.

Example page URL : http://test.cita.illinois.edu/aria/grid/grid1.php The above page supports custom keyboard navigation(i.e. arrow keys). Try to read above page using JAWS.

Please help to make it keyboard accessible at the same time readable by JAWS.

Appreciate your help!


Thanks a lot for your quick reply! That was very good information you provided.

However I have few more queries regarding this. It would be great if you could help.

  1. JAWS provides support for various cursors like Virtual PC Cursor, PC Cursor, JAWS Cursor. As per my knowledge when we specify role="application", JAWS runs on PC Cursor and whatever functionality provided in website are usable using the provided keystrokes. The functionality i want to achieve especially with HTML Table is, user should be able to navigate using arrow keys as well as JAWS should read the currently focused content. So the doubt here is why JAWS does not readout currently focused content in in PC Cursor.(in html table it can be currently focused cell).

  2. It would be helpful if you could explain, how the JAWS user ideally uses web sites using JAWS (specifically with information rendered in HTML Table).

  3. I have a complex table having following features and would like it to be accessible by keyboard and readable by JAWS:

    • Table with expand/collapse icon. Clicking on Expand/Collapse icon or pressing +/- from keyboard the nested table should be visible to user.
    • Each row of table is having some action items and pressing a key or clicking on it should perform an action. (like each row shows unique product information and user can buy(action item) by pressing some key or clicking on a button. )
  4. I tried using dojo grid and it provides to navigate using keyboard arrow keys and there is a JAWS shortcut to readout the currently focused cell i.e INSERT + UP Arrow.

like image 386
amit Avatar asked Jul 28 '11 07:07

amit


2 Answers

Try adding role="application" to the table or a surrounding element.

like image 196
user1144642 Avatar answered Oct 22 '22 13:10

user1144642


There is no way I know of to do what you want. I'm a Jaws user and the table is fine as is. I would not use your site if your custom navigation keys overrode Jaws defaults. The issue with overriding the defaults is it eliminates the ability to review character by character. If I wanted to check the spelling of a word in the table cell I could read letter by letter with the arrow keys. Disabling this ability of jaws is unacceptable. The reason I do not believe it is possible to do what you want is because Jaws uses a virtual buffer with information obtained from the internet browser to format the page in a way easier to read with a screen reader. In my experience it's murky where the boundary between the browser and Jaws is. This means that you probably cannot capture jaws specific keystrokes before Jaws does. Using the insert+3 key followed by an arrow key will not work with jaws because the key is being passed to the browser. This means the table focus is changing in the browser but there is no way to force that change in the model of the page Jaws uses.

like image 45
Jared Avatar answered Oct 22 '22 12:10

Jared