vuetifyjs / vuetify

🐉 Vue Component Framework
https://vuetifyjs.com
MIT License
39.37k stars 6.94k forks source link

[Bug Report][3.3.4] VSelect: poor accessibility with NVDA and Firefox #17609

Open paul-thebaud opened 1 year ago

paul-thebaud commented 1 year ago

Environment

Vuetify Version: 3.3.4 Vue Version: 3.3.4 Browsers: Mozilla Firefox OS: Windows 10

Steps to reproduce

Expected Behavior

Select input should be treated as any classical select input. Just check the other native HTML select to see the normal behavior.

Actual Behavior

There are a lot of problems:

Reproduction Link

https://play.vuetifyjs.com/#...

Other comments

Because most users using NVDA are also using Firefox, this currently makes the select input unusable by any of those users. I don't know if there are other screen readers impacted.

paul-thebaud commented 1 year ago

Some additional information which might help you with this one: Here is a listbox tutorial from MDN docs. Maybe it will be a good idea to follow their recommandations.

paul-thebaud commented 1 year ago

Adding details about VAutocomplete. Since the VList and VSelect update, the focus is moved out from select when choosing item inside the list, and restored. Because of this, when a user select an item, he must unfocus the field (tab) and refocus to be able to input text inside again. A suggestion: VList should not handle focus anymore, and events should be at the input level to avoid those problems. This will also allow to implement correct role listbox.

paul-thebaud commented 1 year ago

Adding details again: problem is also occuring with Orca+Chrome on Ubuntu.

cmooreDT commented 4 months ago

I'm having a similar issue. The Mac OS VoiceOver is reading the value of the select rather than the title. It also isn't announcing the label. For example, if a user tabs to a select box labeled "Sort by" with the default selected option being "A to Z"/internal value "atoz", the screen reader reads "atoz". It's also not announcing the label at any point.

When keyboard scrolling through the select menu options, the screen reader does announce the correct text/selected option (ie "A to Z").