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

[Select] Does not work properly with keyboard navigation when using NVDA in chrome #26033

Open
2 tasks done
haxxmaxx opened this issue Apr 29, 2021 · 9 comments
Open
2 tasks done
Labels
accessibility a11y component: select This is the name of the generic UI component, not the React module!

Comments

@haxxmaxx
Copy link

haxxmaxx commented Apr 29, 2021

  • The issue is present in the latest release.
  • I have searched the issues of this repository and believe that this is not a duplicate.

Current Behaviour 😯

When using the keyboard to navigate, the dropdown for choosing rows per page does not behave as expected. When opening the dropdown using enter/space, it opens properly and receives focus. After that, you can't use the arrow keys to move up/down. If you press enter/space again, you can move using the arrows. This is present on the material ui table documentation page. This is only a problem when NVDA is running (version 2020.4).

table navigation comp
(When pressing arrow down repeatedly, NVDA repeats rows per page list 5)

Expected Behaviour 🤔

As soon as you open the dropdown, you should be able to navigate the options using arrows while NVDA is running.

Steps to Reproduce 🕹

Steps:

  1. Start NVDA
  2. Go to https://material-ui.com/components/tables/ in chrome
  3. Tab down to an example that has the ability to set rows per page (e.g. https://material-ui.com/components/tables/#sorting-amp-selecting)
  4. Open the dropdown using space or enter
  5. Press up or down arrow -> nothing happens

Context 🔦

We are building an advanced table extension for Qlik Sense, where we would like a consistent keyboard navigation solution. The a11y setup we support is NVDA in chrome on windows, so a different screen reader is not an option unfortunately.

Your Environment 🌎

Windows 10
Chrome Version 90.0.4430.93
NVDA version 2020.4

@haxxmaxx haxxmaxx added the status: waiting for maintainer These issues haven't been looked at yet by a maintainer label Apr 29, 2021
@oliviertassinari
Copy link
Member

oliviertassinari commented Apr 29, 2021

@haxxmaxx Please test on v5: https://next.material-ui.com/components/tables/, v4 is not relevant.

@oliviertassinari oliviertassinari changed the title TablePagination: Rows per page dropdown does not work properly with keyboard navigation when using NVDA in chrome [Table] TablePagination: Rows per page dropdown does not work properly with keyboard navigation when using NVDA in chrome Apr 29, 2021
@oliviertassinari oliviertassinari added accessibility a11y component: table This is the name of the generic UI component, not the React module! and removed status: waiting for maintainer These issues haven't been looked at yet by a maintainer labels Apr 29, 2021
@haxxmaxx
Copy link
Author

haxxmaxx commented Apr 30, 2021

Thanks for the quick response! Same problem on v5.

@haxxmaxx
Copy link
Author

haxxmaxx commented Apr 30, 2021

I just noticed that it works on the https://next.material-ui.com/components/tables/#custom-pagination-actions example, because of using the native dropdown. That works for our app as well, but we'd like to use the styled one.

@oliviertassinari oliviertassinari added the component: select This is the name of the generic UI component, not the React module! label Apr 30, 2021
@oliviertassinari
Copy link
Member

oliviertassinari commented Apr 30, 2021

@haxxmaxx
Copy link
Author

Ah I see. I noticed that space isn't working to confirm as well, mentioned in one of those bugs. We might actually consider using the native one

@oliviertassinari
Copy link
Member

oliviertassinari commented Apr 30, 2021

I noticed that Space isn't working to confirm as well, mentioned in one of those bugs.

@haxxmaxx Interesting, @eps1lon worked on this in #18754. One confusing aspect might be that Space allows to open the popup but not to pick an option. Would it be better if it's "all" or "nothing"?

@oliviertassinari oliviertassinari changed the title [Table] TablePagination: Rows per page dropdown does not work properly with keyboard navigation when using NVDA in chrome [Select] Does not work properly with keyboard navigation when using NVDA in chrome Apr 30, 2021
@oliviertassinari oliviertassinari removed the component: table This is the name of the generic UI component, not the React module! label Apr 30, 2021
@mnajdova
Copy link
Member

mnajdova commented Mar 1, 2022

I was just testing the unstyled select, and looks like it works much better. I am able to open, navigate, select items and they are properly announced. @haxxmaxx would you like to check https://mui.com/components/selects/#unstyled-component (it basically reads similar as the native select) cc @michaldudak good job on the unstyled component.

@haxxmaxx
Copy link
Author

haxxmaxx commented Mar 2, 2022

Yupp seems to work fine! We are currently using the native one. We will do some design changes eventually, we'll keep the unstyled one in mind 👍

@mnajdova
Copy link
Member

mnajdova commented Mar 2, 2022

Perfect, thanks for the confirmation @haxxmaxx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility a11y component: select This is the name of the generic UI component, not the React module!
Projects
None yet
Development

No branches or pull requests

3 participants