我有一个简单的视图控制器,可以在viewDidLoad()
中执行此操作。
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 10) {
UIAccessibility.post(notification: .announcement, argument: "Hello world.")
}
当我在设备上启用了画外音功能时,这可以很好地工作。
但是,在模拟器上,公告不会运行。我曾尝试与辅助功能检查器一起玩,但是我无法让Voiceover宣布这一点。
有任何已知的解决方法吗?我正在运行Xcode 11,iOS 13模拟器。
谢谢!
答案 0 :(得分:3)
VoiceOver似乎没有在模拟器上运行。
它需要在设备上运行。我认为您可以在模拟器上做的最好的事情就是使用可访问性检查器检查标签,提示等
使用辅助功能检查器在iOS模拟器中调试辅助功能
可访问性检查器显示有关应用程序中每个可访问元素的可访问性信息。您可以使用可访问性检查器来模拟VoiceOver与应用程序中可访问元素的交互,以检查它们提供的信息。
注意:可访问性检查器有助于在开发过程中测试应用程序的可访问性,但不能替代在物理设备上使用VoiceOver测试应用程序的方法。一方面,可访问性检查器不会说可访问性信息,因此您听不到元素说明的发音。即使Accessibility Inspector非常适合快速验证元素是否提供了适当的可访问性信息,您也应该在打开VoiceOver的情况下在设备上测试应用程序,以确保其行为符合用户的期望。有关如何执行此操作的一些提示,请参见使用VoiceOver在设备上测试可访问性。