Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-21954

Plan configuration - Stage details - Tasks : Drag and drop feature is not keyboard accessible.

XMLWordPrintable

      Issue Summary

      General - Drag and drop feature is not keyboard accessible.

      Elements name:

      • Source Code Checkout link
      • Script link
      • Script link

      Location of the elements: Draggable list of tasks links, under the "Tasks" heading, in the main content.

      Additional details: We can drag the list of tasks links with the mouse to the drag area, just above the "Add task" link. But this functionality is not accessible with the keyboard.

      Steps to Reproduce

      1. Open the home page
      2. Navigate to the "Project" link and activate it.
      3. Select the project link from the main content and activate it.
      4. Navigate to the "Configure Plan" link to activate it 
      5. Navigate to the "Default Job" link and activate it present under "Stages & jobs" expand/collapse.
      6. Navigate to the "Task" link and activate it.
      7. Navigate to the mentioned instances and observe that using the mouse user can perform the drag and drop functionality
      8. Observe the functionality is not accessible for the keyboard-only and screen reader users.

      Actual Results

      While navigating with the keyboard, when the user navigates to the interactive elements such as "Samp", "Task 1" and so on, 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 task 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 task.
      • "Space" key to drag/drop the task.
      • "Left/Right" keys to move the task horizontally to different columns.
      • "Up/Down" keys to move the task 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 item. 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 task 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 item 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 task. You have moved the issue from "Location 1" to "Location 2"

      The First instruction regarding the Draggable item should be associated with the task 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: 460089

        1. Screenshot 2022-11-28 at 6.14.10 PM.png
          623 kB
          Rahil Shaikh
        2. Screen Recording 2023-05-26 at 5.00.05 PM.mov
          9.93 MB
          Rahil Shaikh

              0e35c5b225a8 Bohdan Hulovatyi
              12b69dcabe29 Matthew Brennan
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: