UIAutomation Nested Accessibilty Elements Disappear from Hierarchy
Asked Answered
S

1

12

I have a view with two subviews a button and an Image, I turn on accessibility and set the label on the subviews and I can see the hierarchy by calling

UIATarget.localTarget().frontMostApp().mainWindow().logElementTree();

I get the following for example:

1 Window

2 My View

3 My Button

3 My Image

If I then turn on accessibility and set the label for my parent view I can no longer see my button and image anywhere in the hierarchy.

I just get:

1 Window

2 My View

Why have my views disappeared?

Solomonsolon answered 1/6, 2011 at 10:55 Comment(1)
Have you set accessibility properties for button (and image if it is part of user interaction)?Faux
S
10

Straight from the iOS docs Accessibility Guide

Make the Contents of Custom Container Views Accessible If your application displays a custom view that contains other elements with which users interact, you need to make the contained elements separately accessible. At the same time, you need to make sure that the container view itself is not accessible. The reason is that users interact with the contents of the container, not with the container itself.

To accomplish this, your custom container view should implement the UIAccessibilityContainer protocol. This protocol defines methods that make the contained elements available in an array.

The following code snippet shows the partial implementation of a custom container view. Note that this container view creates the array of accessible elements only when methods of the UIAccessibilityContainer protocol are called. As a result, if iPhone accessibility is not currently active, the array is not created.

Solomonsolon answered 1/6, 2011 at 11:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.