From 922b1fce6b285aef80e5fe1302d0932b7f0847b9 Mon Sep 17 00:00:00 2001 From: Frank Osterfeld Date: Wed, 9 Jul 2025 13:14:57 +0200 Subject: [PATCH] iOS: Add native subviews to accessibility elements When embedding native views as subviews, make sure that their accessibility elements are reported and thus used by iOS when navigating e.g. via VoiceOver. Change-Id: Iebd7a6a76cbcddc616e61568d464e10480c96d8e --- .../platforms/ios/quiview_accessibility.mm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/plugins/platforms/ios/quiview_accessibility.mm b/src/plugins/platforms/ios/quiview_accessibility.mm index a95610614be..fbfb4667496 100644 --- a/src/plugins/platforms/ios/quiview_accessibility.mm +++ b/src/plugins/platforms/ios/quiview_accessibility.mm @@ -48,6 +48,21 @@ - (void)initAccessibility QAccessibleInterface *iface = win->accessibleRoot(); if (iface) [self createAccessibleContainer: iface]; + [self addSubviews:self intoArray:m_accessibleElements]; +} + +- (void)addSubviews:(UIView *)view intoArray:(NSMutableArray *)array +{ + for (UIView * subview in view.subviews) { + if (subview.hidden || subview.alpha < 0.01) { + continue; + } + if (subview.isAccessibilityElement) { + [array addObject:subview]; + } else { + [self addSubviews:subview intoArray:array]; + } + } } - (void)clearAccessibleCache -- 2.39.5 (Apple Git-154)