summaryrefslogtreecommitdiffstats
path: root/src/widgets/accessible/qaccessible_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/accessible/qaccessible_unix.cpp')
-rw-r--r--src/widgets/accessible/qaccessible_unix.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/widgets/accessible/qaccessible_unix.cpp b/src/widgets/accessible/qaccessible_unix.cpp
index a6b7ec3345..19fbe78301 100644
--- a/src/widgets/accessible/qaccessible_unix.cpp
+++ b/src/widgets/accessible/qaccessible_unix.cpp
@@ -103,6 +103,17 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
if (!iface)
return;
+ // updates for List/Table/Tree should send child
+ if (who) {
+ QAccessibleInterface *child;
+ iface->navigate(QAccessible::Child, who, &child);
+ if (child) {
+ delete iface;
+ iface = child;
+ who = 0;
+ }
+ }
+
for (int i = 0; i < bridges()->count(); ++i)
bridges()->at(i)->notifyAccessibilityUpdate(reason, iface, who);
delete iface;