跳到主内容

无障碍功能

关于 Flutter 辅助功能支持的信息。

背景

#

确保应用程序对广泛的用户来说具有可访问性是构建高质量应用程序的重要组成部分。设计不良的应用程序会为所有年龄段的人们制造障碍。 联合国残疾人权利公约 阐述了确保普遍获取信息系统的道德和法律要求;世界各国都在强制执行辅助功能作为一项要求;并且公司认识到最大限度地提高对其服务的访问权限的商业优势。

我们强烈建议您在发布应用程序之前,将辅助功能检查清单作为关键标准。 Flutter 致力于支持开发者使其应用程序更具可访问性,除了底层操作系统提供的支持外,还包括一流的框架辅助功能支持,包括

UI 设计和样式

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

辅助功能法规

#

辅助功能标准和法规有助于确保产品对残疾人士具有可访问性。其中许多已被制定为法律和政策,使其成为产品和服务的要求。

  • WCAG 2: Web 内容可访问性指南 (WCAG) 2 是一个国际公认的标准,用于使 Web 内容对残疾人士更具可访问性。它是世界万维网联盟 (W3C) 开发的稳定、技术标准。

  • EN 301 549: EN 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 和辅助功能的更多信息,请查看社区成员撰写的以下文章