GAAD Pledge 一周年
自 Facebook 承诺 GAAD Pledge 使 React Native 具有无障碍功能以来,已经过去一年了,该项目超出了我们的预期。我们很高兴地宣布,该项目将在 2021 年继续进行,并希望向大家更新我们目前的进展。在去年对 React Native 中的无障碍功能缺陷进行全面分析之后,开始着手填补这些缺陷。
我们最初有 90 个未解决的缺陷分析问题,从 2021 年 3 月项目在 GitHub 上启动至今
-
社区已关闭 11 个问题。
-
React Native 团队已评估并关闭 19 个问题。
-
已合并 9 个 pull request。
-
已将 1 个 pull request 合并到 React Native 文档中。
我们要感谢 React Native 社区在过去一年中为实现更易访问的 React Native 所做的重大进展。每位贡献者的努力都在改进 React Native 无障碍功能方面发挥了作用。
修复
通过 9 个 pull request,在多个组件中修复了两种类型的问题,并向 API 添加了一项新功能。
-
已在七个组件中解决禁用状态问题
-
已在两个组件中解决选中状态问题
-
React Native API 的一项新功能增加了查询 AccessibilityManager.getRecommendedTimeoutMillis() 的能力。
禁用状态公告和禁用功能
在缺陷分析期间发现的最普遍问题之一是,某些组件不公告或禁用功能。现在,七个组件公告其禁用状态或禁用点击功能。
禁用时公告
当组件具有 disabled 属性时禁用点击功能
-
Button
- #31001 -
Text
- React Native 团队提交 -
Pressable
- React Native 团队提交 -
TouchableHighlight
- #31135 -
TouchableOpacity
- #31108 -
TouchableNativeFeedback
- #31224 -
TouchableWithoutFeedback
- #31297
选中状态公告
有些组件在聚焦时未公告其选中状态。当组件处于焦点并且 AccessibilityState 设置为 selected 或组件更改为 selected 时,此行为现已修复。
选中时公告
无障碍功能超时设置
以前无法查询 Android 上的无障碍功能超时设置。此修复添加了查询 AccessibilityManager.getRecommendedTimeoutMillis()
的能力。这将查询 UI 元素自动关闭或自动进行之前的“采取行动的时间”。
文档新增内容
必须更新 React Native 文档以反映可用 API 的每次新增或更改。React Native 文档的新增内容涵盖了向 AccessibilityInfo 添加 getRecommendedTimeoutMillis()
。
社区参与
我们要感谢下面提到的所有贡献者,他们提交并合并了 pull request,以及那些审查和评论问题的人。
已合并的 Pull Request
- @huzaifaaak 关闭了 3 个问题,包括
- @natural_clar 关闭了 1 个问题,包括
- fabriziobertoglio1987 关闭了 2 个问题,包括
- @kyamashiro73 关闭了 1 个问题,包括
- @grgr-dkrk 关闭了 1 个问题,并添加到 React Native 文档中,包括
- @crloscuesta 关闭了 1 个问题,包括
- @chakrihacker 关闭了 1 个问题,包括
感谢以其他方式付出时间的社区成员!
Simek, saurabhkacholiya, meehawk, intergalacticspacehighway, chrisglein, jychiao 和 Waltari10
参与进来!
我们已经走了很长一段路,但我们还没有完成。我们需要您的支持才能到达终点。Facebook 的 React Native 团队已承诺支持致力于缺陷分析问题的贡献者。他们将继续回复关于无障碍功能问题的评论并分类 pull request。React Native 团队还在解决一些最棘手的缺陷分析问题。这项工作包括将 accessibilityRoles 正确翻译成其他语言,以及为特定组件指定错误文本。
加入我们,一起解决剩下的问题。在 改进 React Native 无障碍功能项目看板上仍然存在未解决的无障碍功能问题。关于 Checked/Unchecked 状态、进入/退出集合 和 在集合中的位置 的问题,对于当前和新的贡献者来说,都是为更易访问的 React Native 做出贡献的绝佳机会。
了解更多
在 Facebook 技术博客上了解有关如何进行缺陷分析的信息,或在 React Native 博客上了解有关 GitHub 问题启动的信息。