Hello, Marc! Sorry for the delay, but I wanted to do some actual work
first, before replying to your email.

First of all, after a week of trying to set every property and attribute
for a QAction,  contained in a QMenu,  in every possible combination and
reading everything about menus in VLC, I've finally decided to ask about
shortcut issue on Qt's forums. You can find the disscusion threads
here[0][1]. I've found out that is actually a bug from qt and the developer
that is assigned for accessbility confirmed it. You can find the bug report
here[2]. I also found this in the VLC code:

#ifdef _WIN32 /* For static builds */
 #include <QtPlugin>
 #if QT_VERSION >= 0x050000
  Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
  Q_IMPORT_PLUGIN(AccessibleFactory)
 #else
  Q_IMPORT_PLUGIN(qjpeg)
  Q_IMPORT_PLUGIN(qtaccessiblewidgets)
 #endif
#endif


which means that they are using a custom accessibility pluggin. I asked on
their forums how were they able to implement the feature, or a contact
information for the developer who wrote it, but they didn't answer. On one
of the forum, someone suggested I try the QAccessibleObject. My question
is, do I wait for Qt to fix the bug, or do I try to create a wrapper for
QAction using the QAccessibleObject?

Secondly, I've looked over the dialogs that you suggested (Open, Save as,
Save a copy, Save selection, Export, Export parts, Print) and they look ok
to me, from both the tabbing perspective and the screen-reader feedback.
Since I don't know if Jaffar is yet on the mailing list, I've also sent him
a private email and asked him if he could look over this dialogs and see if
there is anything more to be done there. The problem is that there is
nothing accessible to him aside from the playback of the example score. Is
there a way for you and Jaffar to copy my branches from github and see what
I've done so far? I would like your feedback before sending a pull request
to the main repository.

I've almost finished with the tabbing in the tool bar. You can see the
commits in this branch here[3]. I've created a class that inherits the
QToolButton and adds support for tabbing. I've had two problems with this
class. First one, I could not find how to highlight the button like when
the cursor is hovering over it so, I got creative and I used a graphic
effect that changes the color of the Icon. I hope it is okay, I will keep
looking for how to do the highlighting. For the second problem I created a
bug report in the issue tracker[4]. I've talked with Jaffar and he told me
that is expected of the Return or Space key to "press" the button selected
by tabbing, but both key are used as shortcuts. For now I've set this on
the small Enter button from right. Also, I've removed from tabbing almost
every element that doesn't have, or it is not relevant from the
accessibility point of view (there are still 5 elements to be removed, but
I haven't found them yet). The only buttons that are accessible by tabbing
are the ones from the fileTools bar (Open, Save, Print) and those related
to score playback (enable Midi, rewind to start position, play, loop, play
repeats, pan and metronome).

What should I look at after I finish these?
I will wait for your response and if everything is okay, I will write the
first weekly blog report, where I will count the work done this week and
the previous week as one, since I've also focused on school.

Thank you!
Andrei

[0] http://qt-project.org/forums/viewthread/42369/#176059
[1]
http://www.qtcentre.org/threads/59079-Accessibility-for-QAction-contained-in-QMenu
[2] https://bugreports.qt-project.org/browse/QTBUG-38915
[3] https://github.com/andreituicu/MuseScore/commits/accessible-toolbar
[4] http://musescore.org/en/node/25746


2014-05-09 2:31 GMT+03:00 Marc Sabatella <m...@outsideshore.com>:

> On 5/6/2014 11:42 AM, Andrei Tuicu wrote:
> > I've started working on menus. For now I've succesfully made the
> > screen-reader tell both the name of the menu and it's keyboard
> > shortcut, you can see the commit here[0]. However I wasn't able to do
> > the same thing with the menu options. Even though the shorcut is
> > listed, the screen reader cannot see it. Menu options are created
> > using the QAction class and I've tried setting all of it's properties,
> > but the only one that the screen reader can access is the text
> > property, which contains only the name of the option. Next I want to
> > try using the QAccessibleInterface and if that dosen't work, the only
> > solution that I can think of is to add all of the menu's options and
> > shortcuts to the menu's description.
>
> Have you looked into how other Qt applications do this?  As we've
> discovered, VLC uses Qt and the menu shortcuts *are* read.  Here's the
> source for menus.cpp in VLC:
>
> https://github.com/videolan/vlc/blob/master/modules/gui/qt4/menus.cpp
>
> I looked over it trying to see if there was anything special going on,
> but I don't see it.  It seems it doesn't first create the action then
> add it as we do; it creates the actions on the fly using one of the
> longer forms of addAction.  I guess it's possible that is significant.
> The other thing that jumped out at me as being different is that we
> always add a *list* of shortcuts with setShortcuts rather than setting a
> single primary one with setShortcut.  I did try changing our
> shortcut.cpp to call setShortcut with the first shortcut only, but that
> didn't change anything.  I didn't have your changes as a starting point
> though; maybe that would help.  Anyhow, it certainly appears this should
> be possible withut resorting to adding all menu options to the main menu
> description, so maybe looking more closely at VLC will give us the answer.
>
> I believe Jaffar is now on this list, so maybe he will have other ideas.
>
> > After finishing with the menus I was planning on working on the
> > tabbing for the main window and the screen reader feedback provided
> > for it, but if think it is more important I can start with dialogs,
> > like the "Create New Score" dialog. So please let me know your opinion.
>
> I don't have a strong feeling here.  The main window is bad as far as
> tab is concerned; I can't tell what it's doing at all.  But really, very
> little on the main window is inherently accessible right now even if Tab
> could get you there.  It might make sense for now to just simplify the
> tab order to just move between the score tabs and the transport
> (playback) toolbar and skip the note entry toolbar, palettes, inspector,
> etc.  Regarding dialogs, lots of them will need work.  But again, given
> that nothing about creating scores is accessible right now, there is no
> reason to worry a whole lot about the Create New Score wizard right now.
>
> I'd focus first on whatever dialogs are necessary to allow a user to
> load one or more scores, switch between them, play them, generate parts,
> print, save as, save online, etc.  That is, nothing to do with editing
> scores, but working with them more generally.
>
> Marc
>
>
>
> ------------------------------------------------------------------------------
> Is your legacy SCM system holding you back? Join Perforce May 7 to find
> out:
> &#149; 3 signs your SCM is hindering your productivity
> &#149; Requirements for releasing software faster
> &#149; Expert tips and advice for migrating your SCM now
> http://p.sf.net/sfu/perforce
> _______________________________________________
> Mscore-developer mailing list
> Mscore-developer@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mscore-developer
>
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to