如何禁用对 NSSplitView 分隔线的可访问性支持?

How to disable accessibility support for the divider of a NSSplitView?

我的应用程序中有一个 NSSplitView。它的分隔线位置是固定的,用户无法拖动分隔线。现在我正在添加对辅助功能的支持。使用 VoiceOver 时,用户可以 select 并拖动分隔线。这打破了我的 UI。 我如何告诉 VoiceOver,它应该忽略分隔线?

我正在使用自 OS X 10.10 以来可用的新辅助功能协议。

splitView.isAccessibilityElementsplitView.isAccessibilityEnabled设置为no无效。

感谢您的帮助!

好的,我在 WWDC 的 AppKit 团队问了一个好人。 他告诉我目前这是不可能的 - 因为我无法访问 splitView.

中的 divider

说明: 禁用 NSView 上的辅助功能支持会使特定视图无法访问,但它的子视图不会 - 这通常是所需的行为

因为分隔线是 NSSplitView 的子视图,所以这不起作用。

解决方法: 我最终不再使用 NSSplitView,因为我不需要任何 class 特定功能。分隔符在我的应用程序中是固定的。

相反,我使用 NSStackView 来封装我的子视图 - 它工作得很好。 (隐藏和显示子视图)