为 Windows 设计包容性软件

了解如何使用适用于 Windows 的 Windows 应用进行包容性设计。 设计并构建将无障碍性纳入考虑的包容性软件。

在Microsoft,我们正在发展我们的设计原则和实践。 这些因素决定了我们的体验的外观、感觉、功能和表现。 我们正在提升我们的视角。

这种新的设计理念称为包容性设计。 这个想法是从一开始就考虑到每个人的需求来设计软件。 这与将辅助功能视为可以在开发过程结束时最后添加的一项技术以仅满足少数用户群体的做法形成对比。

“我们将残疾定义为个人需求与所提供的服务、产品或环境之间的不匹配。 任何人都可以遇到残疾。 被排斥是人类的一种共同特征。” - 来自非独占视频

包容性设计为每个人创造了更好的产品。 这涉及到全面考虑人类的多样性。 回想一下现在大多数街角人行道上的路边缺口。 显然,这些是为坐在轮椅上的人使用而设计的。 但现在几乎每个人都使用它们,包括婴儿车、骑自行车的人、滑板运动员。 即使是行人,也会经常使用路边缺口,因为它们的存在,能够带来更好的体验。 电视遥控器可以被视作一种用于身体受限者的辅助技术(AT)。 然而,现在几乎不可能买到一台没有这个功能的电视。 在孩子们学会系鞋带之前,他们可以穿“一脚蹬”或易系鞋。 在进入家门之前需要脱鞋的文化中,容易穿脱的鞋子往往是首选。 它们也更适合有灵活性问题的人,如患有关节炎或甚至暂时骨折手腕的患者。

包容性设计原则

以下 4 项原则指导Microsoft转向包容性设计:

思考全球性:我们专注于人类共同的动机、关系和能力,以此凝聚人心。 这促使我们考虑我们工作更广泛的社会影响。 结果是一种能让所有人通过多样化的方式参与的体验。

让它更加个性化:接下来,我们挑战自己,创造情感联系。 人与人之间的交互可以激发更好的人对技术交互。 个人的独特情况能够改进设计,从而惠及所有人。 结果是一种独特的体验,仿佛是为一个人创建的。

保持简单:我们以简单为出发点,视其为最终的统一者。 当我们减少杂乱时,人们就知道接下来要做什么。 他们受到启发,迈向更加清洁、明亮和开放的空间。 结果是一种诚实和永恒的体验。

创造快乐:令人愉快的体验唤起奇迹和发现。 有时这是神奇的。 有时这是一个恰到好处的细节。 我们设计的这些时刻让人感觉到节奏的变化是值得欢迎的。 结果是一种动感流畅的体验。

包容性设计用户

基本上有两种类型的辅助技术用户(AT):

  1. 那些因残疾或损伤、年龄相关条件或临时条件(如因骨折导致的活动受限)而需要它的人
  2. 出于偏好而使用,以获得更舒适或更方便的计算体验的用户

大多数计算机用户(54%)知道某种形式的辅助技术,而44%的计算机用户使用某种形式的辅助技术,但许多人没有使用本可以帮助他们的辅助技术(Forrester 2004年)。

由Microsoft委托进行的2003-2004年研究发现,超过一半(57%)的美国18至64岁之间的计算机用户可以从辅助技术中受益。 其中大多数用户没有将自己识别为残疾或受损,但在使用计算机时表示某些与任务相关的困难或障碍。 Forrester (2003) 还发现以下数量存在这些特定困难的用户:四分之一的用户遇到视觉困难。 每四个人中就有一个感到手腕或手部疼痛。 每五个人中就有一个有听力困难。

除了永久性残疾外,个人经历的严重性和困难类型在一生中可能有所不同。 没有所谓的正常人。 我们的能力总是变化。 玛格丽特·米德说,“我们都是独一无二的。 每个人都独一无二,在这一点上我们又都如出一辙。”

Microsoft致力于开展计算机科学和软件工程研究,旨在增强计算体验并发明新的计算技术。 查看 当前Microsoft研发项目,这些项目旨在提高计算机的可访问性,并让人们更容易查看、听到和互动。

实际设计步骤

如果你全力投入,那么本部分适合你。 它描述了在为应用实施包容性设计时要考虑的实际设计步骤。

描述目标受众

定义应用的潜在用户。 思考他们不同的能力和特征。 例如,年龄、性别、语言、聋哑或听力障碍、视觉障碍、认知能力、学习风格、移动性限制等。 你的设计是否满足其个人需求?

与具有特定需求的实际人类交谈

与具有不同特征的潜在用户会面。 在设计应用时,请确保考虑其所有需求。 例如,Microsoft发现聋人正在其 Xbox 主机上关闭 Toast 通知。 当我们向真正的聋人用户询问此事时,得知弹出通知通知遮住了一部分隐藏字幕。 解决方法是将弹出通知在屏幕上的显示位置稍稍调高一点。 这是一个简单的解决方案,但从最初发现这种行为的遥测数据中却不一定能看出来。

明智地选择开发框架

在设计阶段,将使用的开发框架(即 UWP、Win32、Web)对于产品的开发至关重要。 如果你拥有选择框架的奢侈,请考虑在框架中创建控件需要付出多少努力。 默认或内置的无障碍功能属性有哪些? 需要自定义哪些控件? 选择框架时,你基本上要选择“免费”获得多少辅助功能控件(即已经内置了多少控件),以及由于控件自定义而需要多少额外的开发成本。

尽可能使用标准 Windows 控件。 这些控件已经启用了与辅助技术进行交互所需的技术。

为控件设计逻辑层次结构

在创建框架之后,设计一个逻辑层次结构来规划你的控件。 应用的逻辑层次结构包括控件的布局和选项卡顺序。 当辅助技术(AT)程序(如屏幕阅读器)阅读 UI 时,视觉呈现是不够的;你必须提供一种在结构上对用户有意义的编程替代方法。 逻辑层次结构可以帮助你实现这一点。 它是一种研究 UI 布局并构建每个元素的方法,以便用户可以理解它。 逻辑层次结构主要用于:

  1. 为 UI 中元素的逻辑(读取)顺序提供程序上下文
  2. 确定自定义控件与 UI 中的标准控件之间的明确边界
  3. 确定 UI 的各个部分如何相互交互

逻辑层次结构是解决任何潜在可用性问题的好方法。 如果无法以相对简单的方式构造 UI,则可能遇到可用性问题。 简单对话框的逻辑表示形式不应导致大篇幅的图表。 对于过于深或过宽的逻辑层次结构,可能需要重新设计 UI。 如需更多信息,请下载 无障碍工程软件 电子书。

设计适当的视觉 UI 设置

在设计可视化 UI 时,应确保产品具有高对比度设置,使用默认的系统字体和平滑选项,根据每英寸点数 (dpi) 屏幕设置正确缩放,默认文本与背景的对比度至少为 5:1,并具有便于色弱用户区分的颜色组合。

高对比度设置

Windows 中的内置辅助功能之一是高对比度模式,可增强文本和图像的颜色对比度。 对于一些人来说,增加颜色的对比度会减少眼睛疲劳,并使其更易于阅读。 在验证高对比度模式下的 UI 时,您希望检查控件(如链接)是否采用一致的编码方式,并使用系统颜色(而非硬编码颜色),以确保用户可以看到非高对比度模式下的所有控件。

系统字体设置

若要确保可读性并最大程度地减少文本的任何意外失真,请确保产品始终遵循默认系统字体并使用抗锯齿和平滑选项。 如果你的产品使用自定义字体,则当用户自定义 UI 的呈现时,用户可能会遇到严重的可读性和干扰性问题(例如,通过使用屏幕阅读器或使用不同的字体样式查看 UI)。

高 DPI 分辨率

对于有视力障碍的用户,具有可缩放的 UI 非常重要。 在高DPI分辨率下无法正确缩放的用户界面可能会导致重要组件重叠、隐藏其他组件或无法访问。

颜色对比度

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

配色

大约7%的男性(不到1%的女性)有某种形式的颜色缺乏。 色盲用户在区分某些颜色时会遇到问题,因此在应用程序中,颜色不应仅作为传达状态或意义的手段。 至于装饰性图像(如图标或背景),应选择颜色组合,以便于色盲用户最佳地感知图像。 如果你从一开始就使用这些颜色建议进行设计,你的应用将已采取重大步骤,实现包容性。

摘要 - 包容性设计的七个步骤

总之,请遵循这七个步骤来确保软件具有包容性。

  1. 确定包容性设计是否是软件的重要方面。 如果是,请了解并欣赏它如何使真正的用户能够生活、工作和玩游戏,以帮助指导你的设计。
  2. 根据需求设计解决方案时,尽可能多地使用框架(标准控件)提供的控件,并避免自定义控件的任何不必要的工作量和成本。
  3. 为产品设计逻辑层次结构,指出标准控件、任何自定义控件和键盘焦点位于 UI 中的位置。
  4. 在产品中设计有用的系统设置(如键盘导航、高对比度和高 dpi)。
  5. 利用 Microsoft 辅助功能开发人员中心和框架的辅助功能规范作为参考点,来实施你的设计。
  6. 使用具有功能需求的用户测试产品,以确保他们能够利用其中实现的包容性设计技术。
  7. 提交已完成的产品,并为那些在你之后处理项目的人员编写文档以记录你的实现过程。