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.28k stars 2.66k forks source link

Screen Reader Can't Read Note Value in Tempo #19984

Open jmwmusic opened 12 months ago

jmwmusic commented 12 months ago

Issue type

UI bug

Bug description

When reviewing or editing a tempo mark the screen reader does not announce the note value. With NVDA it simply says nothing for me but I'm told Jaws reports hexadecimal Symbol numbers

Steps to reproduce

  1. A score has been set up
  2. From the Tempo palette enter, "dotted crotchet = 80" symbol. Notice the description given when navigating the palette is good.
  3. Use Alt + Left/Right to select the tempo mark in the score in order to edit it. Notice that the crotchet and the dot are now not spoken, speech just says "tempo equals 80".
  4. Press Enter to edit.
  5. Use Arrow Left/Right to navigate across the tempo. Notice that speech says "Symbol ECA5" for the crotchet and "symbol ECB7" for the dot. For NVDA says nothing on the music symbols. Expected behaviour to read "crotchet" and "dot".

Unicode provides different symbol numbers for musical symbols. Screen reader may need training to recognise some of these, but it would be easier to put a case for standard Unicode values.

Screenshots/Screen recordings

No response

MuseScore Version

4.1

Regression

I don't know

Operating system

windows 10 with NVDA

Additional context

No response

jrbowden commented 10 months ago

Further investigation and I have discovered these custom Unicode values are Standard Music Font Layout (SMuFL) numbers. As they are custom Unicodes it will have to be MuseScore that has the description, not the screen reader. I also discovered the same type of problem if you put, for example, a pedal (ped) sign as stave text. Again it is not read by the screen reader as it comes out as SMuFL e650.

I therefore suggest MuseScore accessibility needs a dictionary of SMuFL symbols (just a straightforward look-up between number and string) and can automatically use them if any symbol appears. Could be part of the standard translation.