移动辅助function配音移动光标焦点到特定元素
我在将配音光标移动到viewDidAppear上的特定元素时遇到问题。 我遵循Apple的指导原则 ,专注于特定元素,在这种情况下是一个消除按钮,但光标最终会在其他地方
这是我的代码:
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.dismissButton); }
任何帮助,想法,绝对会受到赞赏! 非常感谢。
如果我没记错的话,我无法可靠地关注视图的第一个元素,因为VO通常会关注视图的顶部。
您正在执行的代码是正确的,但此时系统将触发它自己的事件并覆盖您的代码。
您可以尝试做的是延迟发布通知。 但是这会导致焦点在打开视图时跳跃一点点。
这不是一个答案,但那是我现在所处的位置。 如果我找到一种方法,我会更新你。
这个答案可能会有所帮助。
基本上,如果元素不在一个容器视图中,则需要将它们包装在容器视图中,然后覆盖指定的方法。
通过为所需元素提供低于其他元素的标记,您可以使视图对数组进行排序,以确保它将成为VoiceOver使用的accessibilityElements数组中的第一个元素。 或者您可以调整排序方法以另一种方式排序。
仅供参考:从iOS 11开始, UIAccessibilityScreenChangedNotification
和UIAccessibilityLayoutChangedNotification
都能可靠地为我调整Voice Over元素。