如何在OS X中强制将VoiceOver Focus放在某些元素上?

时间:2019-07-15 06:59:37

标签: macos cocoa accessibility

我想将voiceOver焦点更改为可可应用程序中的另一个元素(在OS X中) 是否应该使用NSAccessibilityPostNotification或其他机制通过通知来完成? 还不太清楚...

如果要与我想做的iOS类似,下一个代码在iOS中的作用: UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,myAccessibilityElement);

1 个答案:

答案 0 :(得分:0)

我尝试使用NSAccessibilityPostNotification进行的所有操作都失败了。

但是事实证明VoiceOver将遵循窗口的第一响应者,因此您只需要这样做,就像不考虑任何辅助功能一样:

someWindow.makeFirstResponder( accessibilityElement )

或在Objective-C中:

[ someWindow makeFirstResponder: accessibilityElement ];

VoiceOver焦点也会改变。

我认为,调查可访问性通知以使用户知道发生更改的原因仍然是个好主意。

注意:这已在macOS 10.15 Catalina上进行了测试。