共用方式為


macOS 上的輔助功能

此頁面說明如何使用macOS輔助功能 API,根據 輔助功能檢查清單來建置應用程式。 如需其他平臺 API, 請參閱 Android 輔助功能和iOS 輔助 功能頁面。

若要了解輔助功能 API 在 macOS 中的運作方式(先前稱為 OS X),請先檢閱 OS X 輔助功能模型

描述 UI 元素

AppKit 會使用通訊 NSAccessibility 協議來公開可協助存取使用者介面的 API。 這包括預設行為,會嘗試為輔助功能屬性設定有意義的值,例如設定按鈕的 AccessibilityLabel。 卷標通常是描述控件或檢視的單一單字或簡短片語。

分鏡腳本檔案

Xamarin.Mac 使用 Xcode 介面產生器來編輯分鏡腳本檔案。 在設計介面上選取控件時,可以在身分識別偵測器編輯輔助功能資訊(如以下螢幕快照所示):

Adding accessibility in Xcode's Interface Builder

代碼

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。

第一次啟動時, 輔助功能偵測器 會要求透過輔助功能控制計算機的許可權:

Accessibility Inspector requesting permission to run

解除鎖定設定畫面(如有需要,請在左下方)並勾選 輔助功能偵測器

Settings screen to enable Accessibility Inspector

啟用之後,偵測器會顯示為浮動視窗,可在畫面周圍移動。 下列螢幕快照顯示範例 Mac 應用程式旁執行的偵測器。 當游標移至視窗上方時,偵測器會顯示每個控制件的所有可存取屬性:

Example of Accessibility Inspector running

如需詳細資訊,請參閱 OS X的測試輔助功能指南