musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.08k stars 2.61k forks source link

Input not announced in braille panel #20554

Open msviolafangirl opened 8 months ago

msviolafangirl commented 8 months ago

Issue type

UX/Interaction bug

Bug description

When in the braille panel, pressing n results in no screen reader feedback about whether the user is in note input mode or normal mode. This is not an issue after one gets to the normal entry window by pressing shift+tab.

Steps to reproduce

With screen reader enabled:

  1. Go to the braille panel.
  2. Press n. Notice that nothing is spoken.
  3. Shift+tab to normal note entry area. Press n. Notice that either normal mode or note input mode is spoken.

Screenshots/Screen recordings

No response

MuseScore Version

4.2

Regression

No.

Operating system

Windows 10

Additional context

No response

shubham-shinde-442 commented 6 months ago

I would like to work on this issue.

shubham-shinde-442 commented 4 months ago

Here, I believe we probably need access to the action code "note-input" in notationbraille.cpp, as implemented in notationactioncontroller to solve this issue. Can someone confirm if I'm heading in the right direction?
or Would accessing setKeys be the solution?

shoogle commented 4 months ago

@shubham-shinde-442, I'm not sure why NotationActionController uses the "note-input" action to determine whether we're currently in note input mode when it already knows this from a few lines above. I suppose the call to noteInput->startNoteInput() could fail, so checking the status of the action code explicitly might be more reliable that just assuming the call succeeded.

Anyway, in NotationBraille it looks like we're already telling the accessibility system that we're entering braille input mode, so the real question is why isn't the screen reader saying anything?

My guess is it's to do with the fact the braille TextArea has focus rather than an element in the score view. Notice in NotationAccessibility::setTriggeredCommand() it associates the command message with a dummy item in the score view. That's probably not going to work when focus is outside the score view.

You probably need to modify setTriggeredCommand() to associate the message with an object elsewhere in the accessibility tree. Possibly the TextArea itself should be temporarily renamed to include the command message "Braille input mode", or you could transfer focus to a dummy panel that is named like the command message.

shubham-shinde-442 commented 4 months ago

Thanks @shoogle .

bkunda commented 4 months ago

@shubham-shinde-442 are you still working on this? If so, I'll re-classify it as "in progress" 🙂

shubham-shinde-442 commented 4 months ago

@bkunda No, I'm currently busy in university exams. If someone wants to work on this issue, please go ahead. Otherwise, I will fix it within a month 🙂

bkunda commented 2 months ago

@shubham-shinde-442 I think this one might still be available for you if you have time (hope your university exams went well, btw!). @shoogle FYI.

shubham-shinde-442 commented 2 months ago

@bkunda Sure! I'll create PR soon 🙂