diff options
Diffstat (limited to 'src/plugins/platforms/ios/quiview_accessibility.mm')
-rw-r--r-- | src/plugins/platforms/ios/quiview_accessibility.mm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/platforms/ios/quiview_accessibility.mm b/src/plugins/platforms/ios/quiview_accessibility.mm index 6612dc131e..3e2d4c59ae 100644 --- a/src/plugins/platforms/ios/quiview_accessibility.mm +++ b/src/plugins/platforms/ios/quiview_accessibility.mm @@ -59,13 +59,20 @@ if (!iface) return; - [self createAccessibleElement: iface]; for (int i = 0; i < iface->childCount(); ++i) [self createAccessibleContainer: iface->child(i)]; + + // The container element must go last, so that it underlays all its children + [self createAccessibleElement:iface]; } - (void)initAccessibility { + // The window may have gone away, but with the view + // temporarily caught in the a11y subsystem. + if (!self.platformWindow) + return; + static bool init = false; if (!init) QGuiApplicationPrivate::platformIntegration()->accessibility()->setActive(true); |