GSoC 2021 - Week-2: Improving Accessibility For the Visually Impaired

Posted 3 years ago

I hope you're doing well and staying safe in these testing times.
This is the 3rd blog post, revolving around the progress I've made in the 2nd week of the Coding Period of Google Summer of Code 2021.

Progress was a little slow this week in my opinion, but I did manage to get a few things done.


I was able to fix almost everything that was going wrong in the commit I made in the previous week.

  • Changed the way themes are changed. Previously, they relied on a single variable, and the switching mechanism was based on the Index of the different themes within that variable.
    Since the themes have been split up into 'General' and 'High-Contrast', We have two different data models from which we extract theme data (instead of one). Keeping the older mechanism would've "confused" the system since we could get the same indices from different models. Now, the switching is based on the unique ThemeCode assigned to each theme, thus eliminating the ambiguity. (Thank you, Mr Elnur!)
  • Fixed the spacing issue I was experiencing earlier (Thank you, Casper!). Each property on the "Accessibility" page is now spaced appropriately (12px).
  • Selecting a theme now de-selects all other themes, irrespective of which tab is active ("Accessibility" or "Appearance").
  • Within each HC-Theme, modifying an attribute/property now saves and immediately applies the changes made. (except for Accent Color somehow, which is strange. I plan on dealing with this first, and then commit my changes)
  • Rolled Back the changes made to ColorPicker.qml as they were unneeded.

Modifying the Colors:

Step-1: Select a High Contrast Theme.


Step-2: Click on the attribute you want to modify the colour of.


Step-3: Profit.


Keep up with my progress at the following locations:


What a wonderful idea!
Thank you for taking into account the troubles of people with disabilities and actually doing something about it. Really looking forward to your contribution to musescore!