Skip to content

Conversation

@pat-norris
Copy link
Contributor

@pat-norris pat-norris commented Jun 25, 2019

Some accessibility testers found some issues with how vue-multiselect interacts with the JAWS screen reader and the NVDA screen reader, when testing a project I work on.

When using JAWS, the automatic forms modes that JAWS implements prevents the user from navigating the vue-multiselect. The first time the user hits the down arrow it works fine, but at the same time JAWS automatic forms mode causes JAWS to leave forms mode and any following presses on the down arrow do not function properly. This can be fixed using role="application" on your multiselect, however it brings about the following issue that also occurs in NVDA. See issue #1010.

When using JAWS (with role="application") or when using NVDA, the text of the highlighted option is not read by the screen reader when navigating the vue-multiselect with the arrow keys. See issue #1009.

The changes in my request implement aria-activedescendant on the input element of the vue-multiselect. This attribute allows us to change the active child that has focus, which is picked up by screen readers, meaning that the options of the vue-multiselect are read to users with visual impairments.

pat-norris and others added 3 commits June 25, 2019 11:57
Use aria-role and aria-activedescendant in order to shift DOM focus properly when using JAWS screen reader.
@shentao
Copy link
Owner

shentao commented Jul 30, 2019

Wow 😍 This is likely one of the best PRs I’ve seen! Thank you so much. Got to release it this weekend.

lucapircher pushed a commit to towa-digital/vue-multiselect that referenced this pull request Oct 2, 2019
… properly (shentao#1007) * Accessibility (shentao#1) Use aria-role and aria-activedescendant in order to shift DOM focus properly when using JAWS screen reader. * remove some deprecated code
@deniseileen
Copy link

@shentao This accessibility update looks great! I've been experiencing issues trying to use the component with screen readers and it seems like this might address those issues. Has this been included in a release yet?

@vilaboim vilaboim mentioned this pull request May 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants