跳到主内容

无障碍功能

关于 Flutter 无障碍支持的信息。

背景

#

确保应用程序能够被广泛的用户群体所使用,是构建高质量应用的重要组成部分。设计糟糕的应用程序会为各年龄段的人群带来障碍。《联合国残疾人权利公约》指出,确保信息系统的通用访问权是一项道德和法律义务;世界各国均将无障碍访问作为一项强制要求;企业也认识到最大化服务访问范围所带来的商业优势。

我们强烈建议您在发布应用前,将无障碍访问检查清单作为一项关键评估标准。Flutter 致力于支持开发者提升应用的无障碍性,除了底层操作系统提供的支持外,Flutter 框架还包含一流的无障碍支持,包括:

UI 设计与样式

辅助技术(屏幕阅读器)支持

无障碍访问规范

#

无障碍访问标准和法规有助于确保产品能够被残疾人使用。其中许多标准已被纳入法律和政策,使其成为产品和服务的强制性要求。

  • WCAG 2:《Web 内容无障碍指南 (WCAG) 2》是一项国际公认的标准,旨在使 Web 内容对残疾人更加友好。这是一项由万维网联盟 (W3C) 开发的稳定技术标准。

  • EN 301 549EN 301 549 是欧洲关于信息与通信技术 (ICT) 产品和服务无障碍要求的统一标准。

  • VPAT自愿性产品无障碍模板 (VPAT) 是一个免费模板,可将无障碍要求和标准转化为针对产品服务的可操作测试标准。

世界各地的法律均要求数字内容和服务必须对残疾人友好。在美国,《美国残疾人法案 (ADA)》禁止在公共场所进行歧视。《康复法案第 508 条》要求联邦机构及其承包商的所有 ICT 产品必须符合 WCAG 标准。

在欧盟,《欧洲无障碍法案 (EAA)》要求广泛的公共和私营部门服务必须具备无障碍性,并主要以 EN 301 549 作为其技术基础。

在构建时考虑到无障碍访问

#

确保每个人都能使用您的应用,意味着从一开始就要将无障碍设计融入其中。对于某些应用而言,这说起来容易做起来难。在下面的视频中,我们的两位工程师展示了如何将一个无障碍性极差的移动应用,通过利用 Flutter 的内置组件,改造成一个体验显著提升且具备良好无障碍性的应用。

在 YouTube 新标签页中观看:“在构建 Flutter 应用时考虑到无障碍访问”

无障碍访问发布检查清单

#

以下为您准备了一份不详尽的清单,供您在准备应用发布时参考。

  • 活动交互。确保所有活动交互都有反馈。任何可点击的按钮在按下时都应执行相应操作。例如,如果您有一个针对 onPressed 事件的空回调,请将其修改为在屏幕上显示一个 SnackBar,以解释您刚刚点击了哪个控件。
  • 屏幕阅读器测试。屏幕阅读器在点击页面上的所有控件时都应能进行描述,且描述应清晰可理解。请使用 TalkBack (Android) 和 VoiceOver (iOS) 测试您的应用。
  • 对比度。我们建议控件或文本与背景之间的对比度至少达到 4.5:1,禁用状态的组件除外。图像也应经过审查以确保足够的对比度。
  • 上下文切换。在输入信息时,不应自动更改用户的上下文。通常情况下,组件应避免在没有某种确认操作的情况下更改用户的上下文。
  • 可点击目标。所有可点击目标的尺寸应至少为 48x48 像素。
  • 错误处理。重要操作应支持撤销。在显示错误的字段中,如果可能,请提供修正建议。
  • 色觉缺陷测试。控件在色盲模式和灰度模式下应保持可用且易读。
  • 缩放比例。在极大的文本尺寸和显示缩放比例下,UI 应保持可读和可用。

了解更多

#

要深入了解 Flutter 和无障碍访问,请查看由社区成员撰写的以下文章: