: collapse/ expanded /expandable state of tree views in QT4/ QT5 applications

Frederik Gladhorn gladhorn at kde.org
Thu Oct 18 15:54:41 BST 2018


On onsdag 17. oktober 2018 22.56.27 CEST chrys at linux-a11y.org wrote:
> Howdy,
> 
> Just for your information, i reported this issue here if someone wants
> to make additional information:
> 
> https://bugreports.qt.io/browse/QTBUG-71223

I just replied on the Orca list, I have a fix here:
https://codereview.qt-project.org/#/c/243139/

Presumably Qt 5.13.0 material.

Cheers,
Frederik

> 
> 
> Cheers chrys
> 
> Zitat von chrys at linux-a11y.org:
> > Howdy Joanie,
> > 
> > i will forward your message to KDE accessibility list.
> > Thanks for the detailed issue analyse. i open an bug for QT here and
> > append your mail to this.
> > 
> > cheers chrys
> > 
> > Zitat von Joanmarie Diggs <jdiggs at igalia.com>:
> >> So the problem is that Orca assumes that things which are expandable
> >> have the "expandable" state. This is not the case for Qt apparently.
> >> Arguably that is a bug in Qt. That said.... Given that the presence of
> >> the "expanded" state is sufficient for "expanded" and that Qt exposes
> >> the "collapsed" state (unlike other apps and toolkits), I've modified
> >> Orca to no longer require the "expandable" state for expandable items.
> >> As a result, when you arrow to such items in Dolphin, that state is now
> >> presented as expected. At least for me. That's the good news.
> >> 
> >> The bad news is that Qt is not emitting state-changed:expanded when you
> >> left and right arrow. Instead, it emits a state-changed:focused event.
> >> Orca sees this focused event and says, "User is already on that, no need
> >> to announce it again." and remains silent. While I could hack around
> >> that for Qt apps, that would be a sad hack and generally a bad idea.
> >> When the state of an accessible object changes, the toolkit or app
> >> should emit object:state-changed event for the specific state which has
> >> been changed. Which in this case is expanded; not focused.
> >> 
> >> If Qt were to emit object:state-changed:expanded with detail1 = 1 when
> >> expanded, and detail1 = 0 when collapsed, Orca should automatically do
> >> the correct thing. Since you're working with the Qt community, any
> >> chance you can get this missing event added?
> >> 
> >> Thanks again!
> >> --joanie
> >> 
> >> On 10/17/18 11:04 AM, Joanmarie Diggs wrote:
> >>> OK, that got things working. Thanks! Mind you, by working I mean it
> >>> eventually shows up in Accerciser and Orca. I am seeing delayed
> >>> responses, including in Accerciser, and a lot of console spew in the
> >>> terminal where I launched Dolphin, including lines like:
> >>> 
> >>> qt.accessibility.core: Cannot create accessible child interface for
> >>> object:  PlacesView(0x5597ab8ce650)  index:  12
> >>> 
> >>> QSpiApplication::keyEventError  "org.freedesktop.DBus.Error.NoReply"
> >>> "Did not receive a reply. Possible causes include: the remote
> >>> application did not send a reply, the message bus security policy
> >>> blocked the reply, the reply timeout expired, or the network connection
> >>> was broken."
> >>> 
> >>> Anyhoo, I can see state expandable and confirm Orca is not presenting
> >>> it. I still need to debug why.
> >>> 
> >>> Thanks again!
> >>> --joanie
> >>> 
> >>> On 10/17/18 10:27 AM, chrys at linux-a11y.org wrote:
> >>>> Howdy Joanie,
> >>>> 
> >>>> Oh this is quite interesting since in QT5 it should work OOTB.
> >>>> 
> >>>> # quote start
> >>>> export QT_ACCESSIBILITY=1 (this is needed for Qt 4, fixed in Qt 5)
> >>>> # quote end
> >>>> source:
> >>>> https://techbase.kde.org/Development/Tutorials/Accessibility/Screen_Rea
> >>>> der_Setup
> >>>> 
> >>>> 
> >>>> but the debian guys set this:
> >>>> 
> >>>> # quote start
> >>>> QT_ACCESSIBILITY=1
> >>>> QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
> >>>> 
> >>>> export QT_ACCESSIBILITY QT_LINUX_ACCESSIBILITY_ALWAYS_ON
> >>>> # quote end
> >>>> source:
> >>>> https://mail.kde.org/pipermail/kde-accessibility/2016-November/003115.h
> >>>> tml
> >>>> 
> >>>> let me know if it works for you, i will pin it down to the KDE wiki
> >>>> then.
> >>>> 
> >>>> cheers chrys
> >>>> 
> >>>> ----- Weitergeleitete Nachricht von Joanmarie Diggs <jdiggs at igalia.com>
> >>>> -----
> >>>>   Datum: Wed, 17 Oct 2018 09:52:26 +0200
> >>>>     Von: Joanmarie Diggs <jdiggs at igalia.com>
> >>>> Betreff: Re: [orca-list] collapse/ expanded /expandable state of tree
> >>>> views in QT4/ QT5 applications
> >>>>      An: chrys <chrys at linux-a11y.org>
> >>>>      Cc: orca-list <orca-list at gnome.org>
> >>>> 
> >>>> Will take a look. In the meantime, could you please save me the
> >>>> googling: What do I need to enable accessibility support for Qt? When I
> >>>> look in accerciser, I see Dolphin with 0 children.
> >>>> 
> >>>> Thanks!
> >>>> --joanie
> >>>> 
> >>>> On 10/16/18 9:40 PM, chrys wrote:
> >>>>> Hello Joanie,
> >>>>> 
> >>>>> 
> >>>>> i currently work on some KDE accessibility. i recognize that orca does
> >>>>> not speak the collapse/ expanded /expandable information for tree
> >>>>> views.
> >>>>> I checked with Accerciser, it looks like the information is available.
> >>>>> could you add them to the presentation? that would be very cool :).
> >>>>> thanks!
> >>>>> 
> >>>>> reproduce:
> >>>>> 
> >>>>> install "dolphin" the file manager of KDE
> >>>>> 
> >>>>> open dolphin -> select the tree view
> >>>>> 
> >>>>> arrow around up/ down and expand/ collapse items with arrow left /
> >>>>> right.
> >>>>> 
> >>>>> result:
> >>>>> 
> >>>>> dolphin is perfectly accessible but the collapse/ expand information
> >>>>> is
> >>>>> missing.
> >>>>> 
> >>>>> 
> >>>>> other example would be the room list of "mumble". an popular VIOP chat
> >>>>> application.
> >>>>> 
> >>>>> 
> >>>>> cheers chrys
> >>>>> 
> >>>>> _______________________________________________
> >>>>> orca-list mailing list
> >>>>> orca-list at gnome.org
> >>>>> https://mail.gnome.org/mailman/listinfo/orca-list
> >>>>> Orca wiki: https://wiki.gnome.org/Projects/Orca
> >>>>> Orca documentation: https://help.gnome.org/users/orca/stable/
> >>>>> GNOME Universal Access guide:
> >>>>> https://help.gnome.org/users/gnome-help/stable/a11y.html
> >>>>> Log bugs and feature requests at http://bugzilla.gnome.org
> >>>> 
> >>>> ----- Ende der weitergeleiteten Nachricht -----
> >>>> 
> >>>> 
> >>>> _______________________________________________
> >>>> orca-list mailing list
> >>>> orca-list at gnome.org
> >>>> https://mail.gnome.org/mailman/listinfo/orca-list
> >>>> Orca wiki: https://wiki.gnome.org/Projects/Orca
> >>>> Orca documentation: https://help.gnome.org/users/orca/stable/
> >>>> GNOME Universal Access guide:
> >>>> https://help.gnome.org/users/gnome-help/stable/a11y.html
> >>>> Log bugs and feature requests at http://bugzilla.gnome.org
> >>> 
> >>> _______________________________________________
> >>> orca-list mailing list
> >>> orca-list at gnome.org
> >>> https://mail.gnome.org/mailman/listinfo/orca-list
> >>> Orca wiki: https://wiki.gnome.org/Projects/Orca
> >>> Orca documentation: https://help.gnome.org/users/orca/stable/
> >>> GNOME Universal Access guide:
> >>> https://help.gnome.org/users/gnome-help/stable/a11y.html
> >>> Log bugs and feature requests at http://bugzilla.gnome.org
> > 
> > _______________________________________________
> > orca-list mailing list
> > orca-list at gnome.org
> > https://mail.gnome.org/mailman/listinfo/orca-list
> > Orca wiki: https://wiki.gnome.org/Projects/Orca
> > Orca documentation: https://help.gnome.org/users/orca/stable/
> > GNOME Universal Access guide:
> > https://help.gnome.org/users/gnome-help/stable/a11y.html
> > Log bugs and feature requests at http://bugzilla.gnome.org






More information about the kde-accessibility mailing list