mui / mui/material-ui

[autocomplete] Voiceover only announces selected option when selecting another option

Open
#31,022 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accessibility scope: autocomplete
Dominant language
JavaScript
Stars
99.1k
Forks
32.5k
Avg merge
2d 17h
Merged PRs (30d)
106

Description

Duplicates
  • I have searched the existing issues
Latest version
  • I have tested the latest version
Current behavior 😯

I navigate to the Autocomplete component with Voiceover active and select an option. I then press the down arrow and the combox opens again and I can then navigate through the list of options. As I navigate through the list of options, Voiceover begins to announce the currently highlighted option but immediately stops and reannounces the option that I had selected previously. This means that a user using Voiceover cannot know what the currently highlighted option is.

Expected behavior 🤔

I navigate to the Autocomplete component with Voiceover active and select an option. I then press the down arrow and the combox opens again and I can then navigate through the list of options. As I navigate through the list of options, Voiceover announces the currently highlighted option and does not interrupt with my previous selection.

Steps to reproduce 🕹

Code Sandbox Link: https://codesandbox.io/s/combobox-material-demo-forked-8sqop?file=/demo.tsx
Screen Reader: Voice Over on Mac 11.6.1
Steps:

  1. Turn on Voiceover
  2. Go to the above code sandbox
  3. Navigate to the autocomplete component
  4. Type "The"
  5. Navigate through the options until you reach The Godfather
  6. Press space to select the option
  7. Press down arrow to reopen the combox
  8. Navigate through the options
  9. Listen to hear the Godfather repeated for each option
Context 🔦

I would like screen reader users to be able to use our website without an issue and be able to change their selection if we use the Autocomplete component

Your environment 🌎
`npx @mui/envinfo`
  System:
    OS: macOS 11.6.1
  Binaries:
    Node: 14.18.1 - ~/.nvm/versions/node/v14.18.1/bin/node
    Yarn: Not Found
    npm: 6.14.15 - ~/.nvm/versions/node/v14.18.1/bin/npm
  Browsers:
    Chrome: 98.0.4758.80
    Edge: Not Found
    Firefox: Not Found
    Safari: 15.2
  npmPackages:
    @emotion/react: latest => 11.7.1
    @emotion/styled: latest => 11.6.0
    @mui/base:  5.0.0-alpha.68
    @mui/material: latest => 5.4.1
    @mui/private-theming:  5.4.1
    @mui/styled-engine:  5.4.1
    @mui/system:  5.4.1
    @mui/types:  7.1.1
    @mui/utils:  5.4.1
    @types/react: latest => 17.0.39
    react: latest => 17.0.2
    react-dom: latest => 17.0.2
    typescript: latest => 4.5.5

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Autocomplete example in demo.tsx from the linked CodeSandbox and reproduce the behavior with VoiceOver. Trace the Autocomplete entry point and its highlighted-option announcements, then verify that moving through reopened options announces each current option without repeating the previous selection.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
accessibility, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.