辅助功能自动读取第一个元素

Accessibility automatically reading the first element

我有一个 iOS 应用程序,我正在为其添加辅助功能。

当屏幕被推送时,画外音会自动读取屏幕上的第一个元素 - 在我的例子中,它会读取我的后退按钮 - UINavigationBarButton 在我的 UINavigationBar 上。

如果我禁用后退按钮的辅助功能 - 它会改为读取我的屏幕标题 + 当用户触摸后退按钮时它不会读取后退按钮。

那么...当我推送一个新屏幕时,如何让画外音闭嘴?仅在我告诉它或用户触摸某个元素时才说话。

谢谢。

当 "Screen Changed" 类型的事件发生时,VoiceOver 将自动朗读内容的第一个元素。它通过推送 UIAccessibilityScreenChanged 通知来实现。系统会在某些类型的转换、转场等方面为您执行此操作。您无法阻止这种情况的发生,也不应该。这是期望的行为。如果您想将焦点发送到更有用的位置,而不是您的 UINavigationBar,您可以考虑自己发布 UIAccessibilityScreenChangedNotification,并为其提供不同的焦点视图。

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, viewToFocus);