gpt4 book ai didi

macos - NSSegmentedControl 段的自定义辅助功能

转载 作者:行者123 更新时间:2023-12-02 03:03:05 28 4
gpt4 key购买 nike

我有一个 NSTouchBar,其中一个项目的 View 是一个 NSSegmentedControl,它有 4 个项目 - A、B、C、D。对于有视力的人来说,它使感觉,但对于使用 VoiceOver 的人来说,仅仅说“A”、“B”、“C”或“D”并不是很好的体验——他们可能不明白那到底是做什么的,所以我想将辅助功能标题更改为“选择 A”、“执行 B”、“打开 C”、“显示 D”。

AFAIK,NSSegmentedControl 没有任何设置自定义辅助功能标题的方法,因此我进行了更深入的挖掘 - 它似乎为每个段创建了一个 subview (NSSegmentItemView ,但这并不重要)-所以我试过了:

  • 将分段控件本身的 isAccessibilityElement 设置为 true
  • 对于每个 subview ,我也将其设置为 true,并且我已经尝试设置可访问性标题、标签……几乎任何有用的东西。

不幸的是,我可以在这些上设置任何我想要的东西,而 VoiceOver 会忽略它。可访问性检查器在 Touch Bar 窗口上不起作用这一事实使问题变得复杂...

有没有人有什么想法?

最佳答案

我试图做一些类似的事情(在 NSSegmentedControl 的自定义修改上重新实现可访问性),并且我通过重写一些 NSAccessibilityProtocol 方法取得了大部分成功。

在您的情况下,您可以尝试覆盖 accessibilityChildren 以返回提供不同标签的自定义元素。

关于macos - NSSegmentedControl 段的自定义辅助功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44624411/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com