By considering the suggestions mentioned and the notes from Andrei here are
the requirements of the project as I feel.
1/ Make the palettes keyboard accessible
· Make the palettes searchable by implementing a
filter- A shortcut (something like ctrl+F9) to summon the palette filter
and type the first couple of letters and all the palette items
starting from that letter will be listed one below the other and the
user can traverse through them by pressing the downwards arrow. When the
required palette is found press enter to display.
Provide the ability to create regular user-assignable
shortcuts. – add a shortcut property to the palette.
Make the palettes traversable by keyboard – use Andrei’s code.
Press a number to move to the desired element, instead of traversing
the palette and pressing enter when the desired element is
selected.
Each palette cell having an optional "shortcut" property that let
you assign shortcuts to any element you wanted.
2/ Enable the use of keyboard to navigate to a text element or an
articulation or a crescendo marking. Currently Information about
articulations, dynamic markings, lyrics, and so forth are read along
with the notes they are attached to. So I assume that this requirement is
to implement accessibility for those elements separately. With that
assumption, I think we can use *Implement QAccessibleInterface for those
widgets.*
3/Braille output- I plan on doing this by calling the FreeDots executable
once the user enters the command to import the file to braille. However,
this would not be the optimum solution to this since FreeDots is written in
java.
4/ Shortcuts to move the focus from one window to the next- Assign a
shortcut (e.g. : cmd/ctrl+shift+tab) to summon the list of windows and the
user can traverse through them by pressing the downwards arrow. When the
required window is found press enter to move to it.
5/ Support for other screen-readers- VoiceOver on OS X and also Orca on
Linux
This is my first draft. Waiting for a feedback!
Best Regards!
On 17 March 2016 at 21:04, Andrei Tuicu <andrei.tu...@gmail.com> wrote:
> Hello, Marc, Lasconic, Samadhi!
>
> The code that Marc is talking about for traversing palettes and also for
> providing screen reader feedback for it's elements can be found in this
> branch:
> https://github.com/andreituicu/MuseScore/tree/accessible_palettes
> As Marc said, the code is pretty old, so if you want to use it you would
> have to try it out, see what works and what doesn't.
>
> A very good starting point for you, Samadhi, if you are interested in this
> project is to install the NVDA screen-reader (Windows only) and to see what
> is there in MuseScore and what is not, what can be done with the keyboard
> and what needs to be added. You can find a page in the handbook regarding
> this wrote by Marc here: https://musescore.org/en/handbook/accessibility
>
> MuseScore works best with NVDA, because that is what I used when I
> participated in GSoC 2014. If you start working on this project, you will
> find that each screen-reader has its own "personality". :) Meaning, they
> react differently to the events generated by Qt and report differently the
> information that is available. Support for other screen-readers would be
> also very welcomed from users point of view, I managed to do a bit a for
> JAWS, but a lot of users asked for VoiceOver on OS X and also Orca on Linux
> is a good alternative because it's free.
>
> At some point I also compiled a list for myself for what MuseScore needs
> from the accessibility point of view and small notes on how can they be
> implemented, you can find that here:
>
> https://docs.google.com/document/d/14c7W5w0oT03mIqCQehaAEy43r0iz5imfVZrCuOGOmnQ/
> <https://docs.google.com/document/d/14c7W5w0oT03mIqCQehaAEy43r0iz5imfVZrCuOGOmnQ/edit>
>
> Feel free to use anything from my list, or my repository (I don't remember
> if there is more useful unmerged code) in your GSoC proposal, but you
> should discuss everything in advance with Marc and Lasconic, because I
> haven't been up to speed with the latest MuseScore development and they
> know better what is top priority.
>
> Thank you,
> Andrei
>
> 2016-03-17 17:23 GMT+02:00 Lasconic <lasco...@gmail.com>:
>
>> Let me add that even sighted mouse addicts will appreciate a palette that
>> can be filtered. The advanced palette has several 100 symbols and even in
>> the basic palette, there are over 100 symbols. A lot of users have hard
>> time to locate specific symbols.
>>
>> lasconic
>>
>>
>>
>> 2016-03-17 19:07 GMT+04:00 Marc Sabatella <m...@outsideshore.com>:
>>
>>> Thanks for your interest in this project. Do you have ideas on how this
>>> system you mention might work? The main thing thst is not currently
>>> keybaord-acciessible now are the palettes. One idea lasconic had was to
>>> make these searchable much liek the Symbols dialog (press "Z" to display)
>>> or the Instrument list (press "I") is, or for that matter the shortcut
>>> definition dialog in Edit / Preferences / Shortcuts. So you could type the
>>> first couple of letters of the name of the palette item you want and the
>>> palettes would be filtered to show only elements whose names start those
>>> letter, and then you could navigate the resulting list with up/down keys
>>> and hit Enter to apply. This much would probably actually be pretty easy
>>> to add. But I think we need more than this - I think we need the ability
>>> to create regular user-assignable shortcuts as well, so if there are
>>> certain symbols you use a lot, you can apply them more directly. I could
>>> imagine each palette cell having an optional "shortcut" property that let
>>> you assign shortcuts to any element you wanted. Probably in reality there
>>> would be a single underlying command "apply palette element" that the
>>> shortcut system would use to apply the selected palette element, something
>>> like that.
>>>
>>> There is also existing experimental code from another GSoC student who
>>> worked on this two years ago to make the palettes traversable by keyboard,
>>> and when I tested this code, it did seem to work pretty well. it is not
>>> merged yet so you'd need to get his branch and build it, we can discuss
>>> this here or on IRC.
>>>
>>> Another problem to tackle is score navigation. The student I mentioned
>>> above implemented a lot and that was merged and is in 2.0.2 already, but we
>>> still don't have a way to select anything but notes, key and time
>>> signatures, clefs, and barlines. That is, you can't use the keybaord to
>>> navigate to a text element or an articulation or a crescendo marking. We
>>> need a new command that will navigate through these.
>>>
>>> Braille output would be ncie, but simply exporting to MusicXML then
>>> converting using FreeDots is already possible to do by hand. I think a
>>> more interesting integration with MuseScore might be to output the current
>>> selection to a Braille output device (physical devices with raised pins you
>>> can touch that respond in real time) so that as you navigate the score, the
>>> Braille device tells you want you are looking at. This would be more
>>> efficient for many users than what we currently do, which is output a text
>>> decription to the status ine for a screenreader to read.
>>>
>>> There are a few other user interface issues to sort out - shortcuts to
>>> move the focus from one window to the next (eg, from score to toolbar to
>>> inspector to selection filter).
>>>
>>> Realistically, doing all of this in one summer is probably not
>>> feasiable, but these are ideas to cnsider. i think keybaord control for
>>> palettes is especially high priority though, as it will also benefit
>>> sighted users (especially if we allow the assigning of shortcuts).
>>>
>>> Marc
>>>
>>> On Thu, Mar 17, 2016 at 8:43 AM WASam <samadhipoornima...@cse.mrt.ac.lk>
>>> wrote:
>>>
>>>> Hi all,
>>>> I have already introduced myself, and I am interested in the GSoC
>>>> project
>>>> idea, Accessibility.
>>>>
>>>> In this project, I am planning to implement a keyboard based interface
>>>> on
>>>> top of the museScore system. I thought of having a one-to-one mapping of
>>>> required events to key combinations without overlapping any existing
>>>> keyboard shortcuts. I am currently researching on it and any feedback or
>>>> guidance will be highly appreciated.
>>>> As per the “creating Braille music output” I am planning to use a tool
>>>> like
>>>> FreeDots to convert from MusicXML to Braille music.
>>>>
>>>> Regards,
>>>> Samadhi.
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://dev-list.musescore.org/GSoC-project-idea-Accessibility-tp7579691.html
>>>> Sent from the MuseScore Developer mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Transform Data into Opportunity.
>>>> Accelerate data analysis in your applications with
>>>> Intel Data Analytics Acceleration Library.
>>>> Click to learn more.
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
>>>> _______________________________________________
>>>> Mscore-developer mailing list
>>>> Mscore-developer@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Transform Data into Opportunity.
>>> Accelerate data analysis in your applications with
>>> Intel Data Analytics Acceleration Library.
>>> Click to learn more.
>>> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
>>> _______________________________________________
>>> Mscore-developer mailing list
>>> Mscore-developer@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Transform Data into Opportunity.
>> Accelerate data analysis in your applications with
>> Intel Data Analytics Acceleration Library.
>> Click to learn more.
>> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
>> _______________________________________________
>> Mscore-developer mailing list
>> Mscore-developer@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>>
>>
>
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
> _______________________________________________
> Mscore-developer mailing list
> Mscore-developer@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>
>
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer