Filter accessible objects.
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>
Wed, 21 Mar 2012 12:10:07 +0000 (13:10 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 23 Mar 2012 16:36:49 +0000 (17:36 +0100)
Only include objects in the hierarchy if
either they or their descendants are
accessible.

Change-Id: I4ed01ccfa2b095a5205f72af97acb6c8dbaa3e74
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
src/plugins/accessible/quick/qaccessiblequickitem.cpp

index 45db9fa..d282b04 100644 (file)
@@ -135,7 +135,14 @@ QList<QQuickItem *> QAccessibleQuickItem::childItems() const
             role() == QAccessible::PageTab ||
             role() == QAccessible::ProgressBar)
         return QList<QQuickItem *>();
-    return item()->childItems();
+
+    QList<QQuickItem *> items;
+    Q_FOREACH (QQuickItem *child, item()->childItems()) {
+        QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(child);
+        if (itemPrivate->isAccessible)
+            items.append(child);
+    }
+    return items;
 }
 
 QAccessible::State QAccessibleQuickItem::state() const