macOS 上的辅助功能
本页介绍如何使用 macOS 辅助功能 API 根据 辅助功能清单生成应用。 有关其他平台 API,请参阅 Android辅助功能和 iOS 辅助功能 页面。
若要了解 macOS (以前称为 OS X) 的辅助功能 API 的工作原理,请先查看 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 测试辅助功能指南。