VoiceOver:强制在屏幕转换后select一个辅助function元素

我正在使我的iOS应用程序可访问,我快要完成了。 我的应用程序包含多个自定义屏幕转换,当VoiceOver处于打开状态时,它似乎select在转换之后描述的最左上angular的元素,或偶尔select一个随机元素。 UIAccessibilityTraitSummaryElement看起来很有希望,但据我所知,它只适用于应用程序启动,而不是任意过渡后。

似乎没有可访问性特征或属性来指定给予VoiceOver焦点的元素的首选顺序。 有什么办法强制VoiceOver的重点?

编辑:现在iOS 6是可用的,正如kevboh提到的,你现在可以传递一个参数时发布一个UIAccessibilityLayoutChangedNotificationUIAccessibilityScreenChangedNotification

 UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, myAccessibilityElement); 

在大多数情况下, myAccessibilityElement是一个将isAccessibilityElement设置为YES的UIView(许多视图的默认值)。

或者,您可以将iOS6 UIAccessibilityTraitHeader添加的新特征添加到您的辅助function元素的accessibilityTraits ,它应该具有相同的结果(虽然我还没有testing过)。

原文: iOS 6中有新的API,因为它仍然处于NDA之下,所以无法在这里讨论,但可以在WWDC 2012的“iOS辅助function”video(会话210)中find。

如果不这样做,解决办法可能是手动触发通知来覆盖默认的焦点可访问性标签公告:

 UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"Your text");