-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Low
-
Affects Version/s: 7.2.0, 9.0.1
-
Component/s: Accessibility
-
Severity 3 - Minor
Issue Summary
General - Drag and drop feature is not keyboard accessible.
Element Name: Another filter, Filter test, Test and test elements.
Location of the element: Located below the "Quick filters" heading.
Steps to Reproduce
- Open the home page
- Navigate to the "Administration" button present in the header and activate it.
- Navigate to the "Plan" link and activate it.
- Navigate to the "Quick Filter" link and activate it.
- Navigate to the mentioned instance and observe that drag and drop functionality is inaccessible.
Actual Results
While navigating with the keyboard, when the user navigates to the interactive elements such as "twrobel", it can’t be dragged & dropped from one location to another. The element to drag/drop widget doesn’t receive keyboard focus. Also, the screen reader users are not aware of the drag & drop functionality since the screen reader doesn’t announce any information which conveys the functionality to users.
This makes it keyboard-only users & screen reader users difficult to perform the drag & drop operations effectively.
Expected Results
Make sure the drag-and-drop functionality is accessible for the keyboard only and screen reader users.
Provide shortcut methods for screen reader and keyboard-only users and by providing hidden instructions announce the functionality to the users.
The users should be able to drag & drop filter with the keyboard alone. Also, there should be instructions on the page providing Information on accessing drag & drop functionality with the keyboard.
Following are the expected keyboard interactions.
- "Tab" key to navigate to the filter.
- "Space" key to drag/drop the filter.
- "Left/Right" keys to move the filter horizontally to different columns.
- "Up/Down" keys to move the filter vertically in a particular column.
Also, the drag & drop functionality should be accessible for screen reader users. This can be achieved by providing instruction (off-screen) in ARIA live region for screen reader users.
- When the user navigates to any issue (draggable item)
For Example: "Draggable filter. Ensure your screen reader is not in browse mode and then press the space bar to lift."
- When a user drags/lifts an issue
For Example: "You have lifted an filter in ‘Location 1’. Use the arrow keys to move, space bar to drop, and escape to cancel."
- When the user moves the issue from one column to another via arrow keys.
For Example: "You have moved an filter from ‘Location 1’ to “Location 2”. Use the arrow keys to move, space bar to drop, and escape to cancel."
- When the user drops the issue.
For Example: " You have dropped the filter. You have moved the filter from "Location 1" to the "Location 2"
The First instruction regarding the Draggable item should be associated with the issue element via the aria-describedby attribute in the source code.
The other instructions regarding drag/move/drop should be marked inside a live region. It should have aria-live="assertive", role="log", aria-atomic="true", etc attributes to ensure that the screen reader announces every time the user interacts with the issues.
Please refer to this link for accessible drag-and-drop functionality:
https://pauljadam.com/demos/drag-drop.html
https://www.w3.org/wiki/PF/ARIA/BestPractices/DragDrop
Screenshot
Workaround
Not Available
Bug Ref: 460766