Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MU4 Issue] Accessibility: toggle note input / normal modes does not read the change #12966

Closed
MarcSabatella opened this issue Aug 22, 2022 · 5 comments · Fixed by #13383
Closed
Assignees
Labels
P1 Priority: High

Comments

@MarcSabatella
Copy link
Contributor

Describe the bug
When pressing "N" to toggle note input mode on or off, the screen reader should read the name of the mode.

To Reproduce
Steps to reproduce the behavior:

  1. Start screen reader
  2. Press "N" to toggle note input mode
  3. See error: the screen reader does not tell you which mode you are in

Expected behavior
Screen reader should read the name of the mode as you enter it

Platform information

  • OS: Windows, Linux

Additional context
Originally it did not for MU3 either, but this feature was added around 3.5 in #6173

@shoogle
Copy link
Contributor

shoogle commented Aug 24, 2022

The specific commit was 3960396. The implementation was a hack made necessary by MU3's accessibility system.

We're trying to do things properly in MU4, but I'm not sure if there is a proper way to do this. We want to send generic status messages like:

  • "Note input mode" (when you enter that mode)
  • "Normal mode" (when you leave note input mode)
  • "Download complete"

Unlike most screen reader messages, these aren't related to navigation (i.e. they are not caused by a change in focus, value, or selection). Unfortunately, I don't know of a way to send messages that are not related to navigation. If it's not possible then we'll have to resort to a similar hack where we pretend that there has been a navigational change just to get the screen reader to say something.

@shoogle shoogle added the P1 Priority: High label Aug 24, 2022
@shoogle
Copy link
Contributor

shoogle commented Aug 24, 2022

A suitable hack might be:

  • Change the name or value of the focus object to "Note input mode" (or whatever).
  • Select a dummy object that has the name or value "Note input mode" (or whatever).

The second option is probably more reliable (screen readers sometimes ignore a change in name or value but they rarely ignore a change in focus). However, the dummy object needs to have the same parent in the accessibility tree as the real object or there is a risk that the screen reader will say the parent's name as well as the dummy object's name.

Of course we wouldn't really change the name or value of anything in the score/UI. We would simply send an accessible event to report that such a change has happened, even though it hasn't really.

The same hack might help with #10228, although in that case it might be preferable to really change the name of the selected object to "Range selection..." instead of just pretending to do this.

@MarcSabatella
Copy link
Contributor Author

If it turns out to be simpler to fix the "get location" command Shift+L, which currently does not work (see #12100, then perhaps it could be made to also read the current mode somehow, and it might feel less hacky there.

@Eism
Copy link
Contributor

Eism commented Sep 16, 2022

Yeah, I also didn't find a way to send messages that are not related to navigation. Implemented adding a command to the beginning of the name of the current focused element and re-voicing its name.

Maybe in the future we will find a better solution.

Eism added a commit to Eism/MuseScore that referenced this issue Sep 20, 2022
Eism added a commit to Eism/MuseScore that referenced this issue Sep 21, 2022
Eism added a commit to Eism/MuseScore that referenced this issue Sep 21, 2022
@DmitryArefiev
Copy link
Contributor

Fixed in #13383

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 Priority: High
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants