Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[List and List Item] Support sorting for AT users #7426

Closed
2 of 3 tasks
geospatialem opened this issue Aug 2, 2023 · 7 comments
Closed
2 of 3 tasks

[List and List Item] Support sorting for AT users #7426

geospatialem opened this issue Aug 2, 2023 · 7 comments
Assignees
Labels
4 - verified Issues that have been released and confirmed resolved. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. Calcite (dev) Issues logged by Calcite developers. calcite-components Issues specific to the @esri/calcite-components package. estimate - 5 A few days of work, definitely requires updates to tests. p - high Issue should be addressed in the current milestone, impacts component or core functionality

Comments

@geospatialem
Copy link
Member

Check existing issues

Summary

With parity of list, we should provide support to AT users of list when using sorting to finalize the efforts initiated in #6554.

Actual Behavior

When active, both JAWS and NVDA are unable to sort list-items in the list.

Expected Behavior

Same behavior as keyboard navigation without AT enabled, where space activates the move, and the arrow keys place the item.

Reproduction Sample

https://codepen.io/geospatialem/pen/bGQzavG

Reproduction Steps

  1. Activate JAWS or NVDA
  2. Open the code sample
    • JAWS: Chrome
    • NVDA: Firefox
  3. Using your keyboard navigate to the first List Item's movable button
  4. Press the space key
  5. Press the down arrow key
  6. Observe the breakage (Note: NVDA takes two down arrows to break)

Reproduction Version

1.5.0-next.33 (1.5.0)

Working W3C Example/Tutorial

No response

Relevant Info

Regression?

No response

Priority impact

p3 - want for upcoming milestone

Calcite package

  • @esri/calcite-components
  • @esri/calcite-components-react

Esri team

Calcite (dev)

@geospatialem geospatialem added bug Bug reports for broken functionality. Issues should include a reproduction of the bug. a11y Issues related to Accessibility fixes or improvements. p - high Issue should be addressed in the current milestone, impacts component or core functionality 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Aug 2, 2023
@github-actions github-actions bot added calcite-components Issues specific to the @esri/calcite-components package. Calcite (dev) Issues logged by Calcite developers. p3 - want for upcoming milestone labels Aug 2, 2023
@geospatialem
Copy link
Member Author

Effort should be considered with the effort in #7537

@geospatialem geospatialem added estimate - 5 A few days of work, definitely requires updates to tests. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed needs triage Planning workflow - pending design/dev review. labels Aug 21, 2023
@geospatialem geospatialem added this to the 2023 December Priorities milestone Sep 6, 2023
@geospatialem geospatialem removed the needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. label Sep 6, 2023
@geospatialem
Copy link
Member Author

This also applies to the sorting with the block component in 2.0.0 with both Windows AT, JAWS and NVDA, as outlined in https://codepen.io/geospatialem/pen/PoVXeVL cc @driskull

@driskull
Copy link
Member

driskull commented Dec 5, 2023

@geospatialem what exactly is the breakage? Is it not reading something, is it not moving?

@geospatialem
Copy link
Member Author

@geospatialem what exactly is the breakage? Is it not reading something, is it not moving?

It's the same for the issue above and block, where the context is provided to AT, but sorting/moving is not possible when either JAWS or NVDA are active.

@driskull
Copy link
Member

driskull commented Apr 2, 2024

@geospatialem according to the following:

https://stackoverflow.com/questions/52261977/why-javascript-if-keycode-enter-key-or-spacebar-key-does-not-work-with-nvda

It probably won't fire because NVDA intercepts the keys if you are in browse mode, which is normal. If you were to manually switch to focus mode (insert + space -- you'll hear a "typewriter" sound), the code should get passed through.

I can override this by setting the calcite-handle as a role of application which does seem to fix this.

Would this be an acceptable result? I will create a PR for testing.

driskull added a commit that referenced this issue Apr 5, 2024
@driskull driskull added 3 - installed Issues that have been merged to master branch and are ready for final confirmation. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Apr 5, 2024
Copy link
Contributor

github-actions bot commented Apr 5, 2024

Installed and assigned for verification.

@github-actions github-actions bot assigned DitwanP and unassigned driskull Apr 5, 2024
@geospatialem geospatialem added 4 - verified Issues that have been released and confirmed resolved. and removed 3 - installed Issues that have been merged to master branch and are ready for final confirmation. labels Apr 23, 2024
@geospatialem
Copy link
Member Author

Verified on Windows with NVDA and JAWS in 2.8.0-next.4. 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4 - verified Issues that have been released and confirmed resolved. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. Calcite (dev) Issues logged by Calcite developers. calcite-components Issues specific to the @esri/calcite-components package. estimate - 5 A few days of work, definitely requires updates to tests. p - high Issue should be addressed in the current milestone, impacts component or core functionality
Projects
None yet
Development

No branches or pull requests

3 participants