macOS 上的輔助功能
此頁面說明如何使用macOS輔助功能 API,根據 輔助功能檢查清單來建置應用程式。 如需其他平臺 API, 請參閱 Android 輔助功能和iOS 輔助 功能頁面。
若要了解輔助功能 API 在 macOS 中的運作方式(先前稱為 OS X),請先檢閱 OS X 輔助功能模型。
描述 UI 元素
AppKit 會使用通訊 NSAccessibility
協議來公開可協助存取使用者介面的 API。 這包括預設行為,會嘗試為輔助功能屬性設定有意義的值,例如設定按鈕的 AccessibilityLabel
。 卷標通常是描述控件或檢視的單一單字或簡短片語。
分鏡腳本檔案
Xamarin.Mac 使用 Xcode 介面產生器來編輯分鏡腳本檔案。 在設計介面上選取控件時,可以在身分識別偵測器中編輯輔助功能資訊(如以下螢幕快照所示):
代碼
Xamarin.Mac 目前不會公開為 AccessibilityLabel
setter。 新增下列協助程式方法來設定輔助功能標籤:
public static class AccessibilityHelper
{
[System.Runtime.InteropServices.DllImport (ObjCRuntime.Constants.ObjectiveCLibrary)]
extern static void objc_msgSend (IntPtr handle, IntPtr selector, IntPtr label);
static public void SetAccessibilityLabel (this NSView view, string value)
{
objc_msgSend (view.Handle, new ObjCRuntime.Selector ("setAccessibilityLabel:").Handle, new NSString (value).Handle);
}
}
然後,這個方法可以在程序代碼中使用,如下所示:
AccessibilityHelper.SetAccessibilityLabel (someButton, "New Accessible Description");
屬性 AccessibilityHelp
是為了說明控件或檢視的功能,而且只有在標籤可能無法提供足夠的資訊時,才應該新增。 說明文字仍應盡可能短,例如「刪除檔」。
某些使用者介面元素與無障礙存取無關(例如輸入旁的標籤,具有自己的輔助功能標籤和說明)。
在這些情況下,請設定 AccessibilityElement = false
,讓螢幕助讀程式或其他輔助功能工具略過這些控件或檢視。
Apple 提供 輔助功能指導方針 ,說明輔助功能標籤和說明文字的最佳做法。
自訂控制項
如需所需其他步驟的詳細數據,請參閱Apple 的可存取自定義控件 指導方針。
測試輔助功能
macOS 提供 輔助功能偵測器 ,可協助測試輔助功能功能。 偵測器隨附於 Xcode。
第一次啟動時, 輔助功能偵測器 會要求透過輔助功能控制計算機的許可權:
解除鎖定設定畫面(如有需要,請在左下方)並勾選 輔助功能偵測器:
啟用之後,偵測器會顯示為浮動視窗,可在畫面周圍移動。 下列螢幕快照顯示範例 Mac 應用程式旁執行的偵測器。 當游標移至視窗上方時,偵測器會顯示每個控制件的所有可存取屬性:
如需詳細資訊,請參閱 OS X的測試輔助功能指南。