weeks[10].toString(); //Screen reader works!

Hello everyone! As the title says, I finally constructed the accessibility info for all the elements and connected the screen reader. 🙂

1. Changes in design

There were two main changes in the design that I presented last week. First of all, I removed the ElementAccessibilityInfo class and implemented a virtual method in Element, named accessibleInfo that returns the necessary information as a QString. Also, I removed the signal from Element class an replaced it with a call to ScoreAccessibility::currentInfoChanged in the MuseScore::endCmd function. Then endCmd methos is called at the end of every action performed in the score so after every action the user knows what has changed.

2. Screen Reader

2.1 What I’ve done

– Like I’ve said, I’ve implemented the accessibleInfo method for all classes that represent score elements

– I’ve implemented the QAccessibleInterface for ScoreView.

2.2 Problems

There are a few glitches. For some reason that I don’t know yet, the screen-reader skips some elements for specific commands.

Some examples with the rate of success in feedback:

– next-chord (Right arrow, LeftArrow) ~50%

– altUp/altDown  (Alt+Up, Alt+Down) ~90%

– pitchUp/pitchDown (Up arrow, DownArrow) ~100%

2.3 What else needs to be done

– For now, the mechanism works for only one score view, in the sense that if you have two scoreviews open and hover with the mouse from one to the other, you will not receive info about one of them.

I’m very excited to have finally made this work, this was a very important part of my project. This, along with the next element command that I also implemented, will allow blind users to read a score. 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s