2017-06-19 78 views
1

我有一个NSTouchBar,其物品的视图是NSSegmentedControl,它有4个项目 - A,B,C,D。对于有视觉的人来说,这是有道理的,但对于使用VoiceOver的人,只是说“A”,“B”,“C”或“D”不是一个很好的体验 - 他们可能不明白究竟做了什么,所以我想将可访问性标题更改为“选择A” ,“执行B”,“打开C”,“显示D”。NSSegmentedControl分段的自定义辅助功能

据我所知,在NSSegmentedControl没有关于设置自定义标题无障碍的任何方法,所以我挖更深 - 它似乎会为每个细分的子视图(NSSegmentItemView,但它并不重要) - 所以我已经试过:

  • 设置isAccessibilityElementtrue在分段控制本身
  • 每个子视图的,我已经将它设置为true还有,我试过设置无障碍标题,标签, ...几乎任何有用的东西。

不幸的是我可以在这些上设置任何我想要的,VoiceOver会忽略它。这个问题很复杂,因为辅助功能检查器在Touch Bar窗口不起作用...

有没有人有任何想法?

回答

0

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

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

+0

谢谢,会试试看!绝对忘了关于覆盖辅助功能孩子的选项! –