初始VoiceOver选择

时间:2011-09-22 04:56:10

标签: ios accessibility voiceover

我正在为我的应用添加VoiceOver支持。到目前为止,这么好,但我真的希望能够指定哪个元素是UIAccessibilityScreenChangedNotification之后的第一个元素。我还没有看到这样做的方法。制作一些摘要元素似乎并没有真正做到这一点。我错过了什么吗?

4 个答案:

答案 0 :(得分:17)

这一直是完全可能的。

只需写下以下内容:

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];

    UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,
                                self.myFirstElement);
}
@end

这适用于UIAccessibilityScreenChangedNotification和UIAccessibilityLayoutChangedNotification。 更多信息:http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAccessibility_Protocol/Introduction/Introduction.html#//apple_ref/c/data/UIAccessibilityLayoutChangedNotification 和这里: http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/Accessibility/AccessibilityfromtheViewControllersPerspective.html#//apple_ref/doc/uid/TP40007457-CH2-SW1

答案 1 :(得分:2)

我不认为有一个API值指定了读取顺序,除了在启动时使用摘要元素值 - 它是设计的。

因此,您必须测试UIKit元素或任何自定义控件的顺序和默认值,因为它取决于您的设计。您还可以将项目标记为不可访问的元素,以便它们不会被“读取”,默认情况下读取可访问的元素,以及可访问元素的容器,以便您更好地控制预期的交互。我不知道选择该项目是否有帮助。

我认为你已经在使用Accessibility Inspector测试应用程序,然后再在iOS上进行测试。

如果您需要关于此主题的一些背景知识,Rune's Working With VoiceOver SupportGemmell's Accessibility for Apps可能值得一读。

答案 2 :(得分:0)

如何使用UIAccessibilityAnnouncementNotification?

答案 3 :(得分:0)

This technique为我工作。

VoiceOver将宣布accessibleElements数组中第一个元素的值。这可以根据您的需要进行分类。