summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Schmertmann <Lars.Schmertmann@governikus.de>2025-09-15 16:06:43 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2025-09-16 16:19:56 +0000
commitac7b5815db7f08b24fbd598e22c13652cae3bb2f (patch)
treed93f29c83d17bc485d67445d988fcf0affaaae4b /src
parent7ae2b8bc4433b284c706dad5b431476e1d2e928c (diff)
Android: Avoid announcing simple text as clickable
The definition of Accessible.onPressAction is enough to let Android announce an element as clickable. But this is a problem when components are designied in a way like this: Accessible.role: clickable ? Accessible.Button : Accessible.StaticText Accessible.onPressAction: clickable ? doit() : nothing() So we avoid to set clickable for StaticText and Heading. Windows, macOS and iOS already have the right behavior and do not care about pressAction or toggleAction on simple text. Pick-to: 6.10 6.9 6.8 Change-Id: I7bf9ffae112b92dd4a90f51f014a348dfe1b63f3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/android/androidjniaccessibility.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/platforms/android/androidjniaccessibility.cpp b/src/plugins/platforms/android/androidjniaccessibility.cpp
index b8e8088e38c..a1edf49da12 100644
--- a/src/plugins/platforms/android/androidjniaccessibility.cpp
+++ b/src/plugins/platforms/android/androidjniaccessibility.cpp
@@ -699,8 +699,9 @@ namespace QtAndroidAccessibility
env->CallVoidMethod(node, m_setClassNameMethodID, jrole);
const bool hasClickableAction =
- info.actions.contains(QAccessibleActionInterface::pressAction()) ||
- info.actions.contains(QAccessibleActionInterface::toggleAction());
+ (info.actions.contains(QAccessibleActionInterface::pressAction())
+ || info.actions.contains(QAccessibleActionInterface::toggleAction()))
+ && !(info.role == QAccessible::StaticText || info.role == QAccessible::Heading);
const bool hasIncreaseAction =
info.actions.contains(QAccessibleActionInterface::increaseAction());
const bool hasDecreaseAction =