summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios
diff options
context:
space:
mode:
authorMike Achtelik <mike.achtelik@gmail.com>2022-03-24 23:23:52 +0100
committerMike Achtelik <mike.achtelik@gmail.com>2022-03-25 11:53:54 +0100
commit5677d79bf28ba526bdee8851be3c5781ef8736f6 (patch)
tree093708dad0b9ecc00fa3f008661d75f0db0d2d62 /src/plugins/platforms/ios
parent04fc4300a50bf81e73264540690b6f532c282415 (diff)
iOS A11Y: Set more accessibilityTraits
Set traits for roles that have a direct mapping between QAccessible::Role and UIAccessibilityTraits. This allows the screen reader to pick up on them and give additional info e.g. for links. Pick-to: 6.3 6.2 5.15 Change-Id: I0f85e525fef390dcdf1ea664a0d325ce54f5b25b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms/ios')
-rw-r--r--src/plugins/platforms/ios/quiaccessibilityelement.mm11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/ios/quiaccessibilityelement.mm b/src/plugins/platforms/ios/quiaccessibilityelement.mm
index b6c8ca0620..c0ba799ac0 100644
--- a/src/plugins/platforms/ios/quiaccessibilityelement.mm
+++ b/src/plugins/platforms/ios/quiaccessibilityelement.mm
@@ -160,6 +160,9 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QMacAccessibilityElement);
if (state.searchEdit)
traits |= UIAccessibilityTraitSearchField;
+ if (state.selected)
+ traits |= UIAccessibilityTraitSelected;
+
const auto accessibleRole = iface->role();
if (accessibleRole == QAccessible::Button) {
traits |= UIAccessibilityTraitButton;
@@ -169,6 +172,14 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QMacAccessibilityElement);
return textField.accessibilityTraits;
}();
traits |= defaultTextFieldTraits;
+ } else if (accessibleRole == QAccessible::Graphic) {
+ traits |= UIAccessibilityTraitImage;
+ } else if (accessibleRole == QAccessible::Heading) {
+ traits |= UIAccessibilityTraitHeader;
+ } else if (accessibleRole == QAccessible::Link) {
+ traits |= UIAccessibilityTraitLink;
+ } else if (accessibleRole == QAccessible::StaticText) {
+ traits |= UIAccessibilityTraitStaticText;
}
if (iface->valueInterface())