Github Blog

Exploring the challenges in creating an accessible sortable list (drag-and-drop)

thumbnail

Challenges in Creating an Accessible Sortable List (Drag-and-Drop)

  1. Testing with Screen Reader Users: Screen reader users were unable to use arrow keys to move items as intended in drag-and-drop functionality.

  2. NVDA Simulating Mouse Events: NVDA screen reader users triggering drag-and-drop actions with keyboard keys caused confusion in determining mouse vs. keyboard events.

  3. Announcement Lag: Rapid movements in drag-and-drop caused announcements to lag or announce outdated information, leading to a debounce speed of 100ms for optimal performance.

  4. Keyboard Accessibility: Drag-and-drop actions were not inherently keyboard accessible, prompting the addition of a dialog with instructions for keyboard users.

  5. Voice Control Challenges: Voice control worked well with non-scrollable lists but became cumbersome with scrollable lists, especially for moving items across long distances.

  6. Supporting Multiple Interaction Modes: Introducing a move dialog enabled a more user-friendly experience for both voice control and non-voice control users, enhancing confidence in item manipulations.

The challenges outlined above showcase the complexity of ensuring accessibility in drag-and-drop functionalities, highlighting the importance of thorough testing and thoughtful design considerations for a diverse user base.