Vue-multiselect: Aria roles listbox and option are not showing up

Created on 27 Apr 2020  路  4Comments  路  Source: shentao/vue-multiselect

Reproduction Link

Take a look at the provided reproduction fiddle: https://jsfiddle.net/shentao/jqofkzxc/3296/

Steps to reproduce

Open your browser's dev tools and inspect your way to the multiselect__content unordered list element.

Expected behaviour

Based on lines 100 and 112 of vue-multiselect/Multiselect.vue the unordered list should have an aria role of listbox and each element within the list should have an aria role of "option"

Actual behaviour

When you visit the fiddle provided above and look at the actual output the list and the options within the list do not have any aria roles despite their presence in the component's code. This makes the navigation of the component via screen readers all but impossible.

3.0

Most helpful comment

Accessibility is a common issue with Multiselect v2, sadly. But it鈥檚 also one of the core focuses behind the v3. Hopefully, we will be able to ship it soon and at last, solve that problem.

All 4 comments

Accessibility is a common issue with Multiselect v2, sadly. But it鈥檚 also one of the core focuses behind the v3. Hopefully, we will be able to ship it soon and at last, solve that problem.

Thank you for your response, @shentao

I did find that we were missing an id when calling <multiselect/>. Giving the component an id helped it finally create those aria roles.

But then when doing some a11y QA I got a weird error when browsing the page with VoiceOver on mac. If I went into the dropdown menu using the screen reader from the search input and then went _back_ to the search input Chrome would crash and display RESULT_CODE_UNINSTALL_USER_CANCEL.

I'm kind of assuming that's an issue between Chrome and VoiceOver and not the component though.

Whoa. That sounds like a pretty serious crash. I don鈥檛 think any website should be able to cause that, so I would also assume that is something between Chrome and VoiceOver. Have you tried using VoiceOver with Safari?
Truth be told though, in my projects where a11y is a requirement I tend to replace vue-multiselect with native select (where possible). I鈥檝e also seen https://github.com/vue-a11y/vue-accessible-multiselect which might be a solid alternative, though I haven鈥檛 yet used it.

Hopefully in v3, those choices won鈥檛 be necessary...

I did find that we were missing an id when calling <multiselect/>. Giving the component an id helped it finally create those aria roles.
I am unable to get the roles to display.
From what I can see the changes in master have never been released that include the accessibility updates. Are there plans to release or are you waiting to jump to v3?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

alexhyriavets picture alexhyriavets  路  3Comments

Uninen picture Uninen  路  4Comments

andreasvirkus picture andreasvirkus  路  3Comments

stefanheimann picture stefanheimann  路  4Comments

wujekbogdan picture wujekbogdan  路  4Comments