我正在向我的应用程序添加VoiceOver支持。到目前为止,一切都很好,但我真的希望能够指定哪个元素是在UIAccessibilityScreenChangedNotification之后说出的第一个元素。我还没有看到这样做的方法。将某些内容设置为摘要元素似乎并不能真正做到这一点。我是不是遗漏了什么?
发布于 2012-12-18 18:30:34
THis一直都是完全有可能做到的。
只需写一些类似这样的东西:
- (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
现在是Swift 5
override func viewDidAppear(_ animated: Bool) {
UIAccessibility.post(notification: UIAccessibility.Notification.screenChanged,
argument: myFirstElement)
}发布于 2011-10-11 23:57:00
除了在启动时使用Summary元素值之外,我不认为有一个API值来指定读取顺序-它是设计出来的。
因此,您必须测试UIKit元素或任何自定义控件的顺序和默认设置,因为这取决于您的设计。您还可以将项目标记为不可访问的元素,以便它们不会被“读取”,默认情况下读取可访问的元素,以及可访问元素的容器,以使您能够更好地控制预期的交互。我不知道选择该项目是否会有所帮助。
在iOS上测试之前,我认为您已经在使用Accessibility Inspector测试您的应用程序了。
如果你需要一些关于这个主题的背景知识,Rune's Working With VoiceOver Support和Gemmell's Accessibility for Apps可能值得一读。
发布于 2011-09-22 13:19:41
使用UIAccessibilityAnnouncementNotification怎么样?
https://stackoverflow.com/questions/7509748
复制相似问题