我有一个简单的视图控制器,它在viewDidLoad()中执行此操作。
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 10) {
UIAccessibility.post(notification: .announcement, argument: "Hello world.")
}当我在我的设备上启用画外音时,这个功能非常好。
然而,在模拟器上,公告没有运行。我试着和无障碍检查器玩了一玩,但我无法让画外音宣布这一点。
有什么已知的解决办法吗?我正在运行Xcode 11,iOS 13模拟器。
发布于 2019-12-03 08:23:03
VoiceOver似乎没有在模拟器上运行。
它需要在设备上运行。我认为您在模拟器上所能做的最好就是使用可访问性检查器来检查标签、提示等。
带有可访问性检查器的模拟器中的iOS调试可访问性 可访问性检查器显示应用程序中每个可访问元素的可访问性信息。您可以使用可访问性检查器来模拟VoiceOver与应用程序中可访问元素的交互,以检查它们提供的信息。 注意:可访问性检查器有助于在开发过程中测试应用程序的可访问性,但它不能替代在物理设备上使用VoiceOver测试应用程序。首先,可访问性检查器不讲可访问性信息,因此您无法听到元素描述的声音。尽管可访问性检查器非常适合快速验证元素是否提供了适当的可访问性信息,但您应该在打开VoiceOver的设备上测试应用程序,以确保其行为符合用户的预期。有关如何使用VoiceOver在设备上测试可访问性的一些技巧,请参阅。
https://stackoverflow.com/questions/59152797
复制相似问题