GAAD 承诺 - 一年后
距离 Facebook 做出 GAAD 承诺,让 React Native 更易于访问已经过去一年了,这个项目超出了我们的预期。我们很高兴地宣布,这个项目将在 2021 年继续进行,并希望向大家汇报我们迄今为止的进展。在去年对 React Native 中的可访问性差距进行了彻底分析之后,我们开始了填补这些空白的工作。
我们从 90 个悬而未决的差距分析问题开始,从 2021 年 3 月项目在 GitHub 上启动到现在
-
社区关闭了 11 个问题。
-
React Native 团队评估并关闭了 19 个问题。
-
合并了 9 个拉取请求。
-
一个拉取请求合并到 React Native 文档中。
我们希望表彰并感谢 React Native 社区在过去一年中为使 React Native 更具无障碍性所做的重大进展。每位贡献者的努力都对改进 React Native 的无障碍性做出了贡献。
修复
通过 9 个拉取请求,我们修复了多个组件中的两种类型问题,并为 API 添加了一个新功能。
-
七个组件中的禁用状态问题已得到解决
-
两个组件中的选中状态问题已得到解决
-
React Native API 新增了查询 AccessibilityManager.getRecommendedTimeoutMillis() 的功能。
禁用状态公告和禁用功能
在差距分析中发现的最普遍问题之一是某些组件不宣布或禁用功能。现在,七个组件宣布其禁用状态或禁用点击功能。
禁用时宣布
当组件具有 disabled prop 时禁用点击功能
-
Button- #31001 -
Text- React Native 团队提交 -
Pressable- React Native 团队提交 -
TouchableHighlight- #31135 -
TouchableOpacity- #31108 -
TouchableNativeFeedback- #31224 -
TouchableWithoutFeedback- #31297
选中状态公告
有些组件在获得焦点时不会宣布其选中状态。当组件获得焦点且 AccessibilityState 设置为选中或组件更改为选中状态时,此行为现已修复。
选中时宣布
辅助功能超时设置
此前无法在 Android 上查询辅助功能超时设置。此修复增加了查询 AccessibilityManager.getRecommendedTimeoutMillis() 的功能。这会在 UI 元素自动消失或自动进行之前查询“采取行动的时间”。
文档补充
React Native 文档必须更新,以反映对可用 API 的每个添加或更改。React Native 文档的新增内容涵盖了将 getRecommendedTimeoutMillis() 添加到 AccessibilityInfo。
社区参与
我们要感谢以下所有提交和合并拉取请求的贡献者,以及那些对问题进行审查和评论的贡献者。
已合并的拉取请求
- @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 团队已承诺支持致力于差距分析问题的贡献者。他们将继续回应辅助功能问题上的评论并分类拉取请求。React Native 团队也在解决一些最棘手的差距分析问题。这项工作包括将 accessibilityRoles 正确翻译成其他语言以及为特定组件指定错误文本。
加入我们,一起解决剩下的问题。在改进的 React Native 辅助功能项目板上仍有未解决的辅助功能问题。像已选中/未选中状态、进入/退出集合和在集合中的位置等问题是现有和新贡献者为更易于访问的 React Native 做出贡献的绝佳机会。
了解更多
在Facebook Tech 博客上阅读有关差距分析如何进行的信息,或在React Native 博客上阅读有关 GitHub 问题发布的信息。