MacOS 上的辅助功能

本页介绍如何使用 macOS 辅助功能 Api 根据辅助功能清单来构建应用。 有关其他平台 Api,请参阅Android 辅助功能和iOS 辅助功能页面。

若要了解辅助功能 Api 在 macOS (以前称为 OS X)中的工作原理,请先查看Os x 辅助功能模型。

描述 UI 元素

AppKit 使用 NSAccessibility 协议来公开有助于使用户界面可访问的 Api。 这包括一个默认行为,该行为尝试为辅助功能属性设置有意义的值,例如设置按钮的 AccessibilityLabel。 标签通常是描述控件或视图的单个词或短语。

情节提要文件

Xamarin 使用 Xcode Interface Builder 编辑情节提要文件。 在设计图面上选择控件时,可以在标识检查器中编辑辅助功能信息(如以下屏幕截图中所示):

MacOS 上的辅助功能_第1张图片

代码

Xamarin 目前不会公开为 AccessibilityLabel 资源库。 添加以下 helper 方法以设置 "辅助功能" 标签:

C#复制

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);
    }
}

然后可以在代码中使用此方法,如下所示:

C#复制

AccessibilityHelper.SetAccessibilityLabel (someButton, "New Accessible Description");

AccessibilityHelp 属性用于说明控件或视图的作用,只应在标签可能无法提供足够的信息时添加。 帮助文本仍应尽可能简短,例如 "删除文档"。

某些用户界面元素与可访问访问权限(例如,具有其自己的可访问性标签和帮助的输入旁边的标签)无关。 在这些情况下,请设置 AccessibilityElement = false,以便屏幕阅读器或其他辅助工具将跳过这些控件或视图。

Apple 提供的辅助功能指导原则说明了可访问性标签和帮助文本的最佳实践。

自定义控件

有关可访问的自定义控件的详细信息,请参阅 Apple 的准则准则。

测试辅助功能

macOS 提供可帮助测试辅助功能的辅助功能检查器。 该检查器包含在 Xcode 中。

首次启动时,辅助功能检查器将需要通过辅助功能控制计算机的权限:

MacOS 上的辅助功能_第2张图片

解锁 "设置" 屏幕(如果需要,在左下角),然后勾选辅助功能检查器

MacOS 上的辅助功能_第3张图片

启用后,检查器将显示为可以在屏幕上移动的浮动窗口。 下面的屏幕截图显示了在示例 Mac 应用旁边运行的检查器。 当光标移动到窗口上时,检查器将显示每个控件的所有可访问属性:

MacOS 上的辅助功能_第4张图片

有关详细信息,请参阅OS X 指南的测试可访问性。

  • 跨平台辅助功能
  • Mac 辅助功能

你可能感兴趣的:(VisualStudio,Mac,Xamarin)