2017-06-19 76 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

謝謝,會試試看!絕對忘了關於覆蓋輔助功能孩子的選項! –