2017-05-08 24 views
0

我的macOS(10.10或更高版本)應用程序包含一個自定義控件,其中包含一個通常爲2-12行的數組。每行包含一個名稱和兩個複選框。macOS:適用於小型文本陣列的複選框,複選框

該控件應該實現哪種訪問協議?我正在嘗試NSAccessibilityTable,但看起來這將需要「僞造」幾個方法實現,因爲它不是一個真正的表。有更好的方法嗎?

回答

0

問題是由於我的自定義控件繼承自NSControl。 VoiceOver不知道如何處理控件內部的控件,並且這不是一個好的設計模式。將超類更改爲NSView導致默認行爲只是工作。所以,我的問題的答案是:

一個相關的檢測尖端,我不能在VoiceOver Getting Started Guide發現:當你有像這樣子視圖的視圖,如果一個子視圖的accessibilityElement屬性設置爲YES/true,您創建一個無障礙的層次結構。如果您使用QuickNav進行測試,則箭頭鍵只會在當前子視圖內顯示。要在可訪問性層次結構中向上或向下導航,請使用shift-control-選項upArrow或downArrow。