Accessibility changes: fix for screen readers not identifying options properly #1007
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
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.