GSoC 2019: Palette Accessibility
Hi, I am Anand H, an undergraduate student in Computer Science from Amrita Vishwa Vidyapeetham, India. I am grateful to be able to work and participate in this year's Google Summer of Code. This post is a brief outline of the work that I intend to complete as part of the Google Summer of Code.
The current palette provides a list of notations and symbols that are widely used in the scores. The presence of a large number of palette items proposes a difficulty in acquiring the desired element. Currently, Musescore’s Palettes are not accessible through keyboard controls except via the palette search box. Thus, my project deals with Palette Accessibility.
My project will allow the users to select palette items using the keyboard instead of the mouse. This makes the palette usable for people who are blind or motor impaired or those who simply prefer the keyboard over the mouse. The goal of this project is to improve the accessibility of the palette element as the title represents. I intend to do this by redesigning the palette item using a QTreeview ( which will give a hierarchical structure to the palette element). In the Tree View, each listed item is a QListWidget and the icon view of each of the Palette Items can be set using
setViewMode(QListView::IconMode). The information of the palette items for each palette is provided in the file Musescore/mscore/menu.cpp. Additional features include providing a custom keyboard shortcut for each palette. The keyboard shortcut is then cross-checked with the existing shortcuts which is present in the file Musescore/mscore/data/shortcuts.xml.
A short mockup of the icon view mode I intend to create :
A Qmenu containing the option to create a shortcut for your desired palette:
I would put my best efforts to complete the task as proposed in the project proposal. Your feedback is always welcomed.