aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickaccessibleattached.cpp3
-rw-r--r--tests/auto/quickcontrols/accessibility/data/actionAccessibility/button.qml4
-rw-r--r--tests/auto/quickcontrols/accessibility/tst_accessibility.cpp4
3 files changed, 10 insertions, 1 deletions
diff --git a/src/quick/items/qquickaccessibleattached.cpp b/src/quick/items/qquickaccessibleattached.cpp
index 7446534a44..551187d87a 100644
--- a/src/quick/items/qquickaccessibleattached.cpp
+++ b/src/quick/items/qquickaccessibleattached.cpp
@@ -476,7 +476,8 @@ bool QQuickAccessibleAttached::doAction(const QString &actionName)
bool ret = false;
if (m_proxying)
ret = sig->invoke(m_proxying);
- ret |= sig->invoke(this);
+ if (!ret)
+ ret = sig->invoke(this);
return ret;
}
return false;
diff --git a/tests/auto/quickcontrols/accessibility/data/actionAccessibility/button.qml b/tests/auto/quickcontrols/accessibility/data/actionAccessibility/button.qml
index 7e392e9cc3..0898c118cd 100644
--- a/tests/auto/quickcontrols/accessibility/data/actionAccessibility/button.qml
+++ b/tests/auto/quickcontrols/accessibility/data/actionAccessibility/button.qml
@@ -2,6 +2,9 @@ import QtQuick
import QtQuick.Controls
Button {
+ id: button
+ property int pressCount: 0
+
action: Action {
id: anAction
text: "Peaches"
@@ -9,4 +12,5 @@ Button {
Accessible.description: "Show peaches some love"
}
text: Accessible.description
+ Accessible.onPressAction: button.pressCount += 1
}
diff --git a/tests/auto/quickcontrols/accessibility/tst_accessibility.cpp b/tests/auto/quickcontrols/accessibility/tst_accessibility.cpp
index 2018c0e642..f01e780077 100644
--- a/tests/auto/quickcontrols/accessibility/tst_accessibility.cpp
+++ b/tests/auto/quickcontrols/accessibility/tst_accessibility.cpp
@@ -302,6 +302,10 @@ void tst_accessibility::actionAccessibility()
QVERIFY(iface);
QCOMPARE(iface->text(QAccessible::Name), "Peach");
QCOMPARE(iface->text(QAccessible::Description), description);
+
+ QVERIFY(iface->actionInterface()->actionNames().contains(QAccessibleActionInterface::pressAction()));
+ iface->actionInterface()->doAction(QAccessibleActionInterface::pressAction());
+ QCOMPARE(item->property("pressCount").toInt(), 1);
#endif
}