跳到主要内容

GAAD 承诺 - 一年后

·阅读时长5分钟
Alexandra Marlette
亚历山德拉·马莱特
React Native 的 GAAD 承诺开源无障碍社区经理

距离 Facebook 承诺致力于让 React Native 变得无障碍(Accessibility)已过去一年,而该项目取得了超出我们预期的进展。我们很高兴地宣布,该项目将持续到 2021 年,并想向大家更新我们迄今为止的进展。去年对 React Native 的无障碍差距进行了彻底分析后,我们便开始着手弥补这些差距。

我们从 90 个悬而未决的差距分析问题开始,从 2021 年 3 月项目在 GitHub 上启动到现在

  • 社区关闭了 11 个问题。

  • React Native 团队评估并关闭了 19 个问题。

  • 合并了 9 个拉取请求。

  • 一个拉取请求合并到 React Native 文档中。

我们希望表彰并感谢 React Native 社区在过去一年中为使 React Native 更具无障碍性所做的重大进展。每位贡献者的努力都对改进 React Native 的无障碍性做出了贡献。

修复

通过 9 个拉取请求(pull requests),我们在多个组件中修复了两种类型的问题,并为 API 添加了一项新功能。

  • 在七个组件中解决了“禁用状态”(Disabled state)问题

  • 在两个组件中解决了“选中状态”(Selected state)问题

  • React Native API 的一项新功能增加了查询 AccessibilityManager.getRecommendedTimeoutMillis() 的能力。

禁用状态通告和禁用功能

差距分析中发现的最普遍的问题之一是,某些组件不会通告或禁用其功能。现在,七个组件可以通告其禁用状态或禁用点击功能。

禁用时通告

当组件具有 disabled 属性时禁用点击功能

选中状态通告

之前有些组件在获得焦点时不会通告其选中状态。现在,当组件获得焦点且 AccessibilityState 被设置为 selected 或组件变为 selected 时,此行为已得到修复。

选中时通告

无障碍超时设置

之前在 Android 上没有查询无障碍超时设置的方法。此修复添加了查询 AccessibilityManager.getRecommendedTimeoutMillis() 的能力。这会查询 UI 元素自动消失或自动推进之前的“采取行动时间”。

文档补充

React Native 文档必须更新,以反映对可用 API 的每项添加或更改。关于 getRecommendedTimeoutMillis() 被添加到 AccessibilityInfo 的新补充的 React Native 文档

社区参与

我们要感谢以下所有贡献者,他们提交并合并了拉取请求,以及那些审阅和评论了相关问题的人。

已合并的拉取请求

感谢在其他方面付出时间的社区成员!

SimeksaurabhkacholiyameehawkintergalacticspacehighwaychrisgleinjychiaoWaltari10

参与进来!

我们已经走了很长一段路,但还没有结束。我们需要您的支持才能到达终点。Facebook 的 React Native 团队已承诺支持那些为差距分析问题做出贡献的开发者。他们将继续回应无障碍问题的评论,并对拉取请求进行分类。React Native 团队还在努力解决一些最棘手的差距分析问题。这项工作包括将无障碍角色(accessibilityRoles)正确翻译成其他语言,以及为特定组件指定错误文本。

加入我们,一起解决剩余的问题。在“改进 React Native 无障碍”项目板上仍然存在未解决的无障碍问题。“选中/未选中状态”“进入/退出集合”“在集合中的位置”等问题,是现有和新贡献者为构建一个更无障碍的 React Native 做贡献的绝佳机会。

了解更多

您可以在Facebook Tech 博客上阅读关于如何进行差距分析的介绍,或者在React Native 博客上了解 GitHub 问题的发布情况。