Accessibility: Next Element and Previous Element shortcuts ignore articulations
Reported version
3.x-dev
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
Steps:
- Add a note to a score.
- Add an ornament (e.g. a trill) to the note.
- Click on the notehead to highlight it.
- Press the Next Element shortcut (Alt+Right).
Expected:
- The trill is highlighted
Actual:
- The trill is skipped and the next note or rest is selected instead.
Consequences:
- Users who rely on keyboard access (e.g. people who are blind) are unable to select, edit or delete ornaments.
Tested:
Attachment | Size |
---|---|
testNextElement.mscz | 5.32 KB |
Fix version
3.3.0
Comments
To clarify, it's not ornaments specifically, but all Articulations that are skipped, and this was true back in the alpha as well, so not related to relatively recent changes in this code. Also, spanners do work (so the trill from the Lines palette works).
BTW, grace notes get skipped too.
I was originally going to include articulations, but then I noticed the behaviour is slightly different. When I add a fermata to a score it is traversed with Next Element, but then you get stuck on it. On the other hand, Previous Element skips it entirely. Still, both bugs should probably be dealt with at the same time.
https://github.com/musescore/MuseScore/pull/5221
This was working until a refactoring of some objects (moving articulations from chordrest to chord, fermata from chordrest to segment). Thr code is full of special cases so my fix here isn't the world's cleanest, some day we could revisit the navigation commands in general. But this PR gets them working, also fixes issues with navigation through fingering and fermatas.
Fixed in branch master, commit 320c1081e4
_fix #281448, fix #283463: accessibility for articulations and lyrics
Articulations needed to be added to Chord::accessibleExtraInfo.
Also, refactoring was needed to move code around as a result of
articulations and fermatas being moved between Chord and ChordRest._
Automatically closed -- issue fixed for 2 weeks with no activity.