Accessibility warnings

Aleix Pol aleixpol at kde.org
Thu Oct 19 17:05:01 UTC 2017


On Fri, Oct 13, 2017 at 10:22 AM, Frederik Gladhorn <gladhorn at kde.org> wrote:
> On onsdag 11. oktober 2017 13.57.29 CEST Aleix Pol wrote:
>> Hello,
>> Recently I've been trying to make sure accessibility is properly set
>> up on my system. Since, I've been seeing the following warnings, maybe
>> you guys know what's going on:
>>
>> I get tons of these:
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a67823190 invalid)
>> "/org/a11y/atspi/accessible/2147497884"
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a67823190 invalid)
>> "/org/a11y/atspi/accessible/2147497884"
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a67823190 invalid)
>> "/org/a11y/atspi/accessible/2147497884"
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a67823190 invalid)
>> "/org/a11y/atspi/accessible/2147497884"
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a6a188770 invalid)
>> "/org/a11y/atspi/accessible/2147497882"
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a6a188770 invalid)
>> "/org/a11y/atspi/accessible/2147497882"
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a6a188770 invalid)
>> "/org/a11y/atspi/accessible/2147497882"
>> WARNING Qt AtSpiAdaptor: Accessible invalid:
>> QAccessibleInterface(0x555a6a188770 invalid)
>> "/org/a11y/atspi/accessible/2147497882"
>
> Here it would be interesting when this happens and for which qobjects. It's an
> incoming event (from e.g. Orca) to get information from a
> QAccessibleInterface.
>
> The target is invalid (iface->isValid() returns false). It could be that the
> object has been deleted in the meantime, maybe we should get rid of the
> warning. It has been turned into a categorized logging warning in the mean
> time. But it would be interesting what triggers it. More information needed.
> To see details set a breakpoint for the message in qtbase src/platformsupport/
> linuxaccessibility/atspiadaptor.cpp.
>
> The hard part is to find out what the target of the message was, maybe you're
> lucky and a debugger still shows which object was requested.

Well reading the code it suggests the object is
org.a11y.atspi.Registry should be present, and I can't see it in
qdbusviewer.
Do you guys know how can I make it happen? I do see the processes running:
$ ps -ef | grep at-spi
apol       679   540  0 18:02 ?        00:00:00
/usr/lib/at-spi2-core/at-spi-bus-launcher
apol       687   679  3 18:02 ?        00:02:02 /usr/bin/dbus-daemon
--config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork
--print-address 3
apol       693   540  1 18:02 ?        00:00:37
/usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
apol     24731  5476  0 19:02 pts/5    00:00:00 grep at-spi

>> Then as soon as I type something, I get this other one:
>> ity policy blocked the reply, the reply timeout expired, or the
>> network connection was broken."
>> 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 secur
>> ity policy blocked the reply, the reply timeout expired, or the
>> network connection was broken."
>> 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 secur
>> ity policy blocked the reply, the reply timeout expired, or the
>> network connection was broken."
>> 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 secur
>> ity policy blocked the reply, the reply timeout expired, or the
>> network connection was broken."
>
> This is the code in qtbase/src/platformsupport/linuxaccessibility/
> application.cpp - it's not pretty, feel free to have a look. When a11y is
> enabled, it allows Orca to intercept keyboard events. This should really be
> moved into the window manager or cleaned up in some other way (input
> methods?), but it would require coordination with the Orca people. Any ideas
> appreciated, I did not enjoy working on that part at all since I am convinced
> that its architecture is just wrong.

I guess this one we can figure out properly in Wayland then?

Aleix


More information about the kde-accessibility mailing list