分享
三行代码  ›  专栏  ›  技术社区  ›  entropy.maximum

如何在模拟器上发布UIAccessibility公告?

  •  0
  • entropy.maximum  · 技术社区  · 3 天前

    我有一个简单的视图控制器在 viewDidLoad() .

    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 10) {
         UIAccessibility.post(notification: .announcement, argument: "Hello world.")
    }
    

    当我的设备上启用了画外音功能时,这个功能运行得非常好。

    但是,在模拟器上,公告不会运行。我试着和无障碍检查员玩过,但我不能让旁白宣布这件事。

    有已知的解决方法吗?我在运行Xcode 11,iOS 13模拟器。

    谢谢!

    1 回复  |  直到 3 天前
        1
  •  2
  •   Scriptable    3 天前

    画外音似乎不在模拟器上运行。

    它需要在设备上运行。我认为你在模拟器上能做的最好的事情就是使用可访问性检查器来检查标签、提示等

    用可访问性检查器调试iOS模拟器中的可访问性

    辅助功能检查器显示有关应用程序中每个可访问元素的辅助功能信息。您可以使用辅助功能检查器模拟与应用程序中可访问元素的画外音交互,以检查它们提供的信息。

    注意:辅助功能检查器有助于在开发期间测试应用程序的辅助功能,但它不能替代在物理设备上使用VoiceOver测试应用程序。首先,可访问性检查器不提供可访问性信息,因此您无法听到元素描述的声音。尽管辅助功能检查器非常适合快速验证元素是否提供了适当的辅助功能信息,但您应该在打开VoiceOver的设备上测试应用程序,以确保其行为符合用户的预期。有关如何做到这一点的一些提示,请参见使用VoiceOver测试设备的可访问性。

    Reference