我想将voiceOver焦点更改为可可应用程序中的另一个元素(在OS X中) 是否应该使用NSAccessibilityPostNotification或其他机制通过通知来完成? 还不太清楚...
如果要与我想做的iOS类似,下一个代码在iOS中的作用: UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,myAccessibilityElement);
答案 0 :(得分:0)
我尝试使用NSAccessibilityPostNotification
进行的所有操作都失败了。
但是事实证明VoiceOver将遵循窗口的第一响应者,因此您只需要这样做,就像不考虑任何辅助功能一样:
someWindow.makeFirstResponder( accessibilityElement )
或在Objective-C中:
[ someWindow makeFirstResponder: accessibilityElement ];
VoiceOver焦点也会改变。
我认为,调查可访问性通知以使用户知道发生更改的原因仍然是个好主意。
注意:这已在macOS 10.15 Catalina上进行了测试。