Joris Weimar
Joris Weimar

Reputation: 4931

Default UIAccessibilityElement after screen change

Is there any way to decide which element gets focus first? I tried use the second parameter in the following method

UIAccessibilityPostNotification(
    UIAccessibilityLayoutChangedNotification, 
    element
)

but with no success.

Upvotes: 4

Views: 1740

Answers (1)

XLE_22
XLE_22

Reputation: 5671

Using the UIAccessibilityPostNotification method is the proper way to get your purpose.

There are several types of change notifications but the two most commonly used are :

  • UIAccessibilityLayoutChangedNotification : notifies that a part of the page has changed with 2 possible incoming parameters (a NSString or a UIObject). With a NSString, the notification behaves like a UIAccessibilityAnnouncementNotification with a VoiceOver vocalization. With a UIObject, focus is shifted to the user interface element. This notification is very similar to the UIAccessibilityAnnouncementNotification but should come as a result of dynamic content being deleted or added to the current view.
  • UIAccessibilityScreenChangedNotification : notifies that the whole page has changed including nil or a UIObject as incoming parameters. With nil, the first accessible element in the page is focused. With a UIObject, focus is shifted to the specified element with a VoiceOver. This notification comes along with a vocalization including a sound like announcing a new page.

Your problem may be the element type you specify in your line of code apparently because it seems perfectly correct.

Upvotes: 1

Related Questions