开发包容性 Windows 应用

本文讨论如何开发可访问的 Windows 应用。 具体而言,它假定你了解如何为应用设计逻辑层次结构。 了解如何开发可访问的 Windows 应用,包括键盘导航、颜色和对比度设置,以及对辅助技术的支持。

如果您尚未这样做,请先阅读 设计包容性软件

应执行三项作,以确保你的应用可访问:

  1. 公开 UI 元素以 编程访问
  2. 确保你的应用支持键盘导航,以方便无法使用鼠标或触摸屏的人。
  3. 确保应用支持可访问 颜色和对比度 设置。

程序化访问

程序化访问对于在应用中创建可访问性至关重要。 这是通过为应用中的内容和交互式 UI 元素设置辅助名称(必需)和说明(可选)来实现的。 这可确保 UI 控件向辅助技术(例如屏幕阅读器(例如讲述人)或备用输出设备(如盲文显示器)公开。 如果没有编程访问,辅助技术的 API 无法正确解释信息,使用户无法充分使用产品,或者强制 AT 使用未记录的编程接口或从未打算用作辅助功能接口的技术。 当 UI 控件向辅助技术公开时,AT 能够确定哪些作和选项可供用户使用。

有关使应用 UI 元素可用于辅助技术(AT)的详细信息,请参阅 公开基本辅助功能信息

键盘导航

对于盲人或有移动性问题的用户,使用键盘导航 UI 非常重要。 但是,只有需要用户交互才能正常运行的 UI 控件才应获得键盘焦点。 不需要执行操作的组件(如静态图像)不需要键盘焦点。

请务必记住,与使用鼠标或触摸导航不同,键盘导航是线性的。 考虑键盘导航时,请考虑用户如何与产品交互以及逻辑导航是什么。 在西方文化中,人们从左到右、从上到下阅读。 因此,遵循此模式进行键盘导航是常见的做法。

设计键盘导航时,请检查 UI 并考虑以下问题:

  • 控件在 UI 中如何布局或分组?
  • 是否存在一些重要的控件组?
    • 如果是, 这些组中是否包含其他级别的组?
  • 在同类控件中,应该通过 Tab 键导航、使用特殊导航(如箭头键),还是两者兼用?

目标是帮助用户了解 UI 的布局方式,并确定可作的控件。 如果在用户完成导航循环之前发现制表位过多,请考虑将相关控件组合在一起。 某些相关控件(如混合控件)可能需要在此早期探索阶段得到解决。 开始开发产品后,很难重新编写键盘导航,因此请谨慎规划并提前计划!

若要详细了解 UI 元素中的键盘导航,请参阅 键盘辅助功能

此外,工程软件辅助功能 电子书包含一章名为 设计逻辑层次结构,该章节在这一主题上非常出色。

颜色和对比度

Windows 中的内置辅助功能之一是高对比度模式,可增强计算机屏幕上文本和图像的颜色对比度。 对于一些人来说,增加颜色的对比度会减少眼睛疲劳,并使其更易于阅读。 在验证高对比度中的 UI 时,应检查控件是否已一致编码,并使用系统颜色(而非硬编码颜色),以确保使用高对比度的用户能够看到与非高对比度用户相同的屏幕控件。

XAML

<Button Background="{ThemeResource ButtonBackgroundThemeBrush}">OK</Button>

有关使用系统颜色和资源的详细信息,请参阅 XAML 主题资源

只要您尚未覆盖系统颜色,UWP 应用程序默认支持高对比度主题。 如果用户选择希望系统使用系统设置或辅助功能工具中的高对比度主题,框架会自动使用颜色和样式设置,这些设置为 UI 中的控件和组件生成高对比度布局和呈现。

有关详细信息,请参阅 高对比度主题

如果决定使用自己的颜色主题而不是系统颜色,请考虑以下准则:

颜色对比度 – 更新的《美国残疾人法》第508条以及其他立法要求文本与其背景之间的默认颜色对比度必须为5:1。 对于大文本(18点字体或14点加粗字体),默认所需的对比度为3:1。

颜色组合 - 大约7%的男性(不到1%的女性)有某种形式的颜色缺陷。 色盲用户在区分某些颜色时会遇到问题,因此在应用程序中,颜色不应仅作为传达状态或意义的手段。 至于装饰性图像(如图标或背景),应选择颜色组合,以便于色盲用户最佳地感知图像。

无障碍功能清单

以下是无障碍性检查列表的简要版本:

  1. 请为应用中的内容和交互式 UI 元素设置无障碍名称(必填)和说明(可选)。
  2. 实现键盘可访问性。
  3. 直观地验证 UI 以确保文本对比度足够,元素在高对比度主题中正确呈现,并且正确使用颜色。
  4. 运行辅助功能工具,解决报告的问题,并验证屏幕阅读体验。 (请参阅辅助功能测试主题。
  5. 确保应用程序清单设置遵循无障碍准则。
  6. 在 Microsoft 应用商店中将应用声明为可访问。 (请参阅应用商店 主题中的 辅助功能。

有关更多详细信息,请参阅完整的 辅助功能清单 条目。