Declined
Last Updated: 12 Apr 2019 08:31 by ADMIN
Chirag
Created on: 05 Apr 2019 11:11
Category: Grid
Type: Feature Request
1
Navigation for controls or interactive action button within a gridcell

We are working on enterprise product, which uses Progress Telerik jQuery KendoUI components extensively purchased by our Company. In which Kendo grid is used in many modules of our product.

Now a days we are working on Accessibility (i.e. keyboard and screen reader) as part of out-of-box feature of our product.

The grid has been made accessible so that it can be navigated using the keyboard arrow keys, once it receives focus via Tab Key in order of tab index or Alt + W short cut key. In turn, this has spawned up one issue in terms of keyboard operatibility. You can now tab into the grid, use arrow keys to navigate to the cell containing action buttons and then again tab to the button that you want to activate.

This is causing confusion in terms of use of the tab key. Ideally, the tab should take focus from one widget to another. That is the tab key should have taken focus into the grid and pressing it again should have navigated away from the grid. But because of the action buttons displayed within the grid for each record, that tab also navigates controls within the grid widget. This causes numerous press of the tab key just to traverse past the grid widget.

Now due to this, user needing to press the tab key multiple times is an accessibility issue.

Also while referring Grid control demo on https://demos.telerik.com/kendo-ui/grid/editing-inline , we found the same type of behavior when traversing through “Edit” and “Delete” buttons. One of the code snippet developed by us using dojo.telerik.com can be referred on https://dojo.telerik.com/@chiragvidani/ulOzaniX/2

It would be great if this issue is addressed with a good accessible way.

 

Please find below reply received from on the accessibility forum, when we tried raising the issue to find out the remedial solution:


Reply 1 by "Glen Walker"

Just to make sure we're talking about the right type of component, a grid vs a table, a grid is like a spreadsheet where you can interact with all the cells.  I agree that a grid should be a single tab stop so that you can easily navigate to the elements after the grid.  However, I have seen implementations that once you're in the grid and in "edit mode", you can tab amongst the cells.  This is helpful if the cell contains an element that uses the arrow keys (such as a radio or select) and you want the arrows interpreted by the element and not navigate to the next cell.  You then need to get out of "edit mode" (perhaps via the escape key) in order to tab off the grid.

A table, on the other hand, doesn't let you interact with the cell directly but that doesn't mean a cell cannot have an interactive element.  That is, you can have links or buttons or inputs in a table cell and it'd still be considered a table and not a grid.  It's kind of a fine nuance.  A grid lets you interact with the cell itself and a table might let you interact with an element that is in the cell, but not with the cell itself.

There is, of course, more to this than that but I was trying to keep it basic and simple.

So, that being said, do you really have a grid or a table?

Let's say you really have a table instead of a grid, and that one of the cells in your table has several buttons, and that pattern is repeated on every row.  You would indeed have a bunch of tab stops, making it difficult to navigate beyond the table.

One possibility is if all the button actions are grouped together, they could be considered a toolbar.  A toolbar is one tab stop and you arrow between the buttons, but you'd still have the problem of having a toolbar on every row.  A toolbar would reduce the number of tab stops compared to having all separate buttons but you'd still have X number of tab stops for X rows.  One for each toolbar.

Maybe a grid in that case would be better.  Tab to the grid, tab again to whatever element follows the grid.  Tab back to the grid and use the arrow keys to navigate to the desired row.  Maybe the row goes into "edit mode" automatically when it receives focus with the arrow and then all the interactive elements in the row get a tabindex of 0.

That might be a bit non-standard and there probably isn't a good "role" to explain the behavior.  A bit of usability testing might be required.

 

Thanks,

Chirag Vidani

  
3 comments
ADMIN
Konstantin Dikov
Posted on: 12 Apr 2019 08:31
Hi Chirag,

As mentioned in the replies, the Grid has built-in keyboard navigation once the widget is focused:
Since the TAB key is handled by the browser and the "tabindex" attribute in the elements (if it is set), in the context of the Kendo UI suite, once a widget is focused, the tabbing will follow the internal logic for that particular widget, which in most cases is designed to follow the accessibility guidelines:
With the above in mind, changing the behavior that you are describing could be achieved by manually handling the key press events and focusing the elements as per your exact requirements. 


Regards,
Konstantin Dikov
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Siddhant
Posted on: 09 Apr 2019 10:48

There is also a toolbar example that has screen reader + keyboard support out here - https://demos.telerik.com/kendo-ui/toolbar/index

 

May be combining the two, you might get your use case going.

Siddhant
Posted on: 09 Apr 2019 10:42

I found this accessible grid demo which provides out-of-the-box support for keyboard navigation - https://demos.telerik.com/kendo-ui/grid/keyboard-navigation

Will this prove to be useful?