When I set isAccessibilityElement = NO
on a view that contains subviews with isAccessibilityElement = YES
, VoiceOver still detects them.
I need to switch off accessibility for an entire view hierarchy that must be handled differently by VoiceOver. How can I achieve this without having to loop through every single item in the object graph and mess with it's setting?
Just set the accessibilityElementsHidden property.
self.accessibilityElementsHidden = YES;
This makes all subviews hidden from accessibility.
I would try setting the
accessibilityElementsHidden
property of the main view to YES. If that does not what you want, I would try overriding theUIAccessibilityContainer
methods on the main view to return 0 children.