musescore / musescore/MuseScore

[MU4 Issue] Accessibility: keyboard navigation of palette is awkward

Open
#12,967 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accessibility P2
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Describe the bug
The sequence of keystrokes for navigating palettes is awkward, requiring the user to figure out which palettes are currently expanded and which are not, and how to expand them in order to enter them. Screen reader feedback is not as useful as it could be.

To Reproduce
Steps to reproduce the behavior:

  1. Enable screen reader
  2. Press Shift+Tab to access palette
  3. Attempt to navigate to, say, the time signatures palette, and select 3/4

It's hard to describe what exactly the problem is here, but basically, somehow the user needs to know they need to first expand the palette and what key will do this, but assuming they figure out that Space or Enter will do it, there is still no feedback that this has happened. And then to actually enter the palette, you need to press Right to reach the expand button, then Down to enter the palette, which isn't at all obvious - really almost completely undiscoverable. I guess the expection is that insptead of having pressed Space or Enter to open the plaette, they'll press Right to get to the expand button first, then press Space to expand it, and now focus is where it needs to be for Down to work?

Expected behavior
The MU3 model may not be perfect, but it's arguably better. After expanding a palette, Down takes you directly into the palette rather than to the next palette.

I'd propose we mimic this via a simple change: the act of expanding a palette via Space or Enter should automatically move focus to the expand button. Then Down does what one expects - moves you into the palette.

No doubt other models are possible and could be better. But this has the avdantage of being very simple to implement (I assume a "one-liner") and also will feel pretty familiar to existing users.

Platform information

  • OS: Windows, Linux

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

No source file or test is named. Start by reproducing the palette interaction with a screen reader, then locate the palette keyboard-navigation code and compare its focus behavior with the MU3 model. Done means expanding with Space or Enter moves focus to the expand button, after which Down enters the palette as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
accessibility, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.