GSoC 2017: Accessibility - Week 2

Posted 5 years ago

This week, I have completed the navigation commands, and have started working on palette navigation.
I'd like to thank everyone who provided feedback on which approach to use to make the palettes keyboard accessible. Adding keyboard shortcuts for every palette symbol did not seem feasible, so the other approach which uses the palette search and palette navigation will be implemented.

Key accomplishments

Completed next-element and prev-element commands:

I removed some remaining bugs from the navigation commands next-element and prev-element. I also commented out some code so that accidentals are skipped while navigating, but if an accidental is selected, navigation from it is possible. The commands seem to work fine now.

Applying selected palette element:

I have added the keyPressEvent and keyReleaseEvent functions in the Palette class, to make applying a palette element possible using the keyboard. After selecting a palette element, pressing Enter or Return will apply the palette element on the score selection.

Selection of next palette element:

I added a case in Palette::keyPressEvent so that on pressing the right arrow key, the next palette element gets selected. This works, but the response is delayed.

Key tasks that stalled

I had trouble building my branch after rebasing it. It took time to fix this. The problem was that I was using an old version of Qt, so I had to get the new version.

Tasks in the upcoming week

  • Selection of previous palette element
  • Fix the selection of next palette element so that there is no delay
  • Add a shortcut command to shift the keyboard focus to the palette search box


Maybe implement different highlights for keyboard and mouse, so that both can be used. I'm visually impaired but still using my eyesight, so I might combine keyboard and mouse access to palettes

In reply to by TomVal

Thanks for the feedback! Currently, there aren't different highlights for the keyboard and mouse, but the keyboard and mouse can be used together while navigating the palette. Only one palette element can be selected at any time, either using the mouse single click, or using the keyboard navigation commands. I hope this is okay.