diff options
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 } |