A collection of starter applications built with Clarity. Each starter project contains minimal default configuration and code to run and develop an application for a specific technology.
Tab should not jump to the next datagrid checkbox, instead it should jump out of the grid
From Amy Li
when you use a datagrid you only use arrow keys to navigate between cells and tab key to enter or leave the entire datagrid getting to the checkbox cell should just be arrow keys
The datagrid keyboard command Ctrl+End on windows and ctrl+fn+right arrow on mac no longer goes to the last cell of the last row. People who use keyboard-only will not be able to get past the table unless they tab the checkbox controls on every row. This is an issue as there can be thousands of rows with checkboxes to tab through.
Allow users to switch between pagination Datagrid and lazy loading for those who need to navigate a few a time or jump to a specific row.
We are concerned with the accessibility around removing pagination. Therefore, we believe that all demos should start with pagination, but should have an option to remove pagination.
We should expand our row selection demo such that it includes input controls in cells to help us explore UX impact with regard to selection.
The ask here is to add a columns with a checkbox, button and text input respectively so we can work to understand if/how selection works under these circumstances and whether row selection makes sense under these real world conditions.
Voice Over has special virtual cursor mode, in which you can browse a table/grid with a combination of VO-special key and the arrow keys. Default Voice-over key combination is "control-option". A common alternative is the Caps Lock key.
When this mode is activated, keyboard events do not reach the JS layer anymore, and the datagrid programmatic cursor gets out of sync with the virtual cursor.
Virtual cursor does generates small scroll events and does load new data, but does not recognize that there are new rows in the grid, so it jumps to either 1st row, next column, or to the beginning of the grid.
Users can only tab to sort control and arrow keys to use the drag and drop. This is not expected behavior. Related to invalid controls in header issue VPAT-2938.
The new drag and drop feature will add to this existing issue VPAT-2938 of invalid heading controls (filters and resize column). Only sort is supported in ARIA specs. Because it is not valid ARIA to add controls in table or datagrid headings we recommend providing controls outside of the datagrid for keyboard and screen reader users, this can be accordion or dialog with datagrid editing options. Mouse users can still drag and drop or chose to use the alternative controls. The above issues for people who use screen readers or keyboard-only will be avoided with this implementation.
If you select a cell and jump the middle of the scrollbar, a random row cell is made active. If you jump back, the original active cell isn't always made active again.
Screen reader announcement is improved in focus mode but not in screen reader browse mode (aka virtual cursor), which still reads all the heading content when navigating grid cells and the core issue of having heading controls other than sorting is not fixed. ARIA datagrids only allow sorting controls in the headings anything beyond that will cause screen reader issues. Please see Santina's recommendations in this Jira ticket under Resolution Details. This is also related to the same VPAT-2938 issue mentioned above. Note that because it is out of spec it may fail other assistive technologies that aren't covered here and can cause unforeseen issues in future updates of ATs or browsers.
This is especially noticeable when adding a multiline notes column. I've tried to use the AutoSizeVirtualScrollStrategy from '@angular/cdk-experimental/scrolling', but couldn't get it to work.
(not WCAG issue) Mouse users may accidentally click outside of the checkbox causing all other rows to deselect. People who may not have good motor control may be affected by this. Recommend to only have the gridcell's area with the checkboxes to be adding selection only.