如何禁用对 NSSplitView 分隔线的可访问性支持?
How to disable accessibility support for the divider of a NSSplitView?
我的应用程序中有一个 NSSplitView
。它的分隔线位置是固定的,用户无法拖动分隔线。现在我正在添加对辅助功能的支持。使用 VoiceOver 时,用户可以 select 并拖动分隔线。这打破了我的 UI。
我如何告诉 VoiceOver,它应该忽略分隔线?
我正在使用自 OS X 10.10 以来可用的新辅助功能协议。
将splitView.isAccessibilityElement
或splitView.isAccessibilityEnabled
设置为no
无效。
感谢您的帮助!
好的,我在 WWDC 的 AppKit 团队问了一个好人。
他告诉我目前这是不可能的 - 因为我无法访问 splitView
.
中的 divider
说明:
禁用 NSView
上的辅助功能支持会使特定视图无法访问,但它的子视图不会 - 这通常是所需的行为
因为分隔线是 NSSplitView
的子视图,所以这不起作用。
解决方法:
我最终不再使用 NSSplitView
,因为我不需要任何 class 特定功能。分隔符在我的应用程序中是固定的。
相反,我使用 NSStackView
来封装我的子视图 - 它工作得很好。 (隐藏和显示子视图)
我的应用程序中有一个 NSSplitView
。它的分隔线位置是固定的,用户无法拖动分隔线。现在我正在添加对辅助功能的支持。使用 VoiceOver 时,用户可以 select 并拖动分隔线。这打破了我的 UI。
我如何告诉 VoiceOver,它应该忽略分隔线?
我正在使用自 OS X 10.10 以来可用的新辅助功能协议。
将splitView.isAccessibilityElement
或splitView.isAccessibilityEnabled
设置为no
无效。
感谢您的帮助!
好的,我在 WWDC 的 AppKit 团队问了一个好人。
他告诉我目前这是不可能的 - 因为我无法访问 splitView
.
divider
说明:
禁用 NSView
上的辅助功能支持会使特定视图无法访问,但它的子视图不会 - 这通常是所需的行为
因为分隔线是 NSSplitView
的子视图,所以这不起作用。
解决方法:
我最终不再使用 NSSplitView
,因为我不需要任何 class 特定功能。分隔符在我的应用程序中是固定的。
相反,我使用 NSStackView
来封装我的子视图 - 它工作得很好。 (隐藏和显示子视图)