Control: reassign -1 qtbase-opensource-src Hello,
Thorsten Glaser, le sam. 11 janv. 2020 21:12:47 +0100, a ecrit: > https://wiki.debian.org/accessibility-devel says it should export > QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 but it doesn’t. > > Exporting that before starting MuseScore makes the latter show up > in “orca -l” output, so it’s probably needed. Yes and no. There is a permanent battle between enabling accessibility by default, and enabling it only when actually needed. See Bug#874054 ("Setting QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 has a huge negative performance impact, should not be always on") for more details. Currently Qt only enables accessibility when the orca screen reader is enabled in the control panel. I guess in your case what you expected was that at the very least applications started after orca got started should be accessible, even if orca is only started by hand. This would work if Qt was not only looking at org.a11y.Status ScreenReaderEnabled (the control panel configuration), but also at org.a11y.Status IsEnabled (set by Orca on startup). This would not be enough for making existing applications accessible when you first start Orca, Bug#874054 mentions that it's because Qt currently doesn't monitor the dbus IsEnabled variable. Could we at least restore looking at IsEnabled in Qt, as the attached patch does? Actually, that is needed for proper focus tracking in Qt applications for zoom support in compiz when Orca is not used. The comment there says that IsEnabled is always true, but that's not what I am observing with e.g. Debian 8's gnome 3.14, Debian 9's gnome 3.22, and Debian 10's 3.30... Ideally, we'd backport this fix to buster too. Samuel
No, isEnabled does not always return true currently. We do need to test for isEnabled for the case of running Orca by hand. It's Orca (or compiz' focuspoll) which sets IsEnabled. --- src/platformsupport/linuxaccessibility/dbusconnection.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/src/platformsupport/linuxaccessibility/dbusconnection.cpp +++ b/src/platformsupport/linuxaccessibility/dbusconnection.cpp @@ -120,8 +120,7 @@ void DBusConnection::serviceRegistered() //debugging. static const bool a11yAlwaysOn = qEnvironmentVariableIsSet("QT_LINUX_ACCESSIBILITY_ALWAYS_ON"); - // a11yStatus->isEnabled() returns always true (since Gnome 3.6) - bool enabled = a11yAlwaysOn || a11yStatus->screenReaderEnabled(); + bool enabled = a11yAlwaysOn || a11yStatus->screenReaderEnabled() || a11yStatus->isEnabled(); if (enabled != m_enabled) { m_enabled = enabled;