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()。
禁用状态公告和禁用功能
在差距分析中发现的最普遍的问题之一是某些组件不公布或禁用功能。现在有七个组件公布其禁用状态或禁用点击功能。
禁用时公布
当组件具有禁用属性时禁用点击功能
-
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 问题发布的信息。