iOS 上的辅助功能

本页介绍如何使用 iOS 辅助功能 API 根据辅助功能检查清单生成应用。 有关其他平台 API,请参阅 Android 辅助功能OS X 辅助功能页面。

描述 UI 元素

iOS 提供了 AccessibilityLabelAccessibilityHint 属性,供开发人员添加描述性文本,VoiceOver 屏幕阅读器可使用这些文本使控件更易于访问。 控件还可以使用一个或多个特征进行标记,这些特征在可访问模式下提供额外上下文。

有些控件可能不需要具有可访问性(例如,文本输入上的标签或纯粹装饰性的图像)- 在这种情况下,提供了 IsAccessibilityElement 以禁用辅助功能。

UI 设计器

Properties Pad 包含一个辅助功能部分,当在 iOS UI 设计器中选择控件时,允许编辑这些设置

Accessibility Settings

C#

还可以直接在代码中设置这些属性:

usernameInput.AccessibilityLabel = "Search";
usernameInput.Hint = "Press Enter after typing to search employee list";
someLabel.IsAccessibilityElement = false;
displayOnlyText.AccessibilityTraits = UIAccessibilityTrait.Header | UIAccessibilityTrait.Selected;

什么是 AccessibilityIdentifier?

AccessibilityIdentifier 用于设置一个唯一密钥,该密钥可用于通过 UIAutomation API 引用用户界面元素。

从不向用户朗读或显示 AccessibilityIdentifier 的值。

PostNotification

UIAccessibility.PostNotification 方法允许在直接交互之外(例如,当用户与特定控件交互时)向用户引发事件。

公告

可以从代码发送公告,通知用户某些状态已更改(例如后台操作已完成)。 同时,用户界面上还会有视觉指示:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.Announcement,
    new NSString(@"Item was saved"));

LayoutChanged

屏幕布局时使用 LayoutChanged 公告:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.LayoutChanged,
    someControl);  // someControl gets focus

辅助功能和本地化

标签和提示等辅助功能属性可以像用户界面中的其他文本一样进行本地化。

MainStoryboard.strings

如果用户界面是在情节提要中布局的,则可以用与其他属性相同的方式为辅助功能属性提供翻译。 在下面的示例中,UITextFieldPqa-aa-ury 的本地化 ID 和两个辅助功能属性是用西班牙语设置的:

/* Accessibility */
"Pqa-aa-ury.accessibilityLabel" = "Notas input";
"Pqa-aa-ury.accessibilityHint" = "escriba más información";

此文件放置在西班牙语内容的 es.lproj 目录中

Localizable.strings

或者,也可以将翻译添加到本地化内容目录中的 Localizable.strings 文件中(例如,对于西班牙语是 es.lproj)

/* Accessibility */
"Notes" = "Notas input";
"Provide more information" = "escriba más información";

这些翻译可以通过 LocalizedString 方法在 C# 中使用:

notesText.AccessibilityLabel = NSBundle.MainBundle.LocalizedString ("Notes", "");
notesText.AccessibilityHint = NSBundle.MainBundle.LocalizedString ("Provide more information", "");

有关本地化内容的更多详情,请参阅 iOS 本地化指南

测试辅助功能

在“设置”应用中,通过导航至“常规”>“辅助功能”>“VoiceOver”启用 VoiceOver:

Setting the speaking rate

辅助功能屏幕还提供缩放、文本大小、颜色和对比度选项、语音设置以及其他配置选项的设置

请按照这些 VoiceOver 说明测试 iOS 设备的辅助功能。

模拟器测试

在模拟器中进行测试时,辅助功能检查器可帮助验证辅助功能属性和事件是否配置正确。 导航到“常规”>“辅助功能”>“辅助功能检查器”,在“设置”应用中打开检查器

Enable Accessibility Inspector

启用后,检查器窗口会一直悬停在 iOS 屏幕上。 下面是选择表视图行时的输出示例 - 请注意 Label 包含一个句子,其中给出了该行的内容,并说明“已完成”(即显示勾号)

Using Accessibility Inspector

当检查器可见时,使用左上角的“X”图标可暂时显示或隐藏覆盖,并启用/禁用辅助功能设置。