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() 的能力。
「停用」狀態宣告和停用功能
在缺口分析期間發現最普遍的議題之一,是某些組件不會宣告或停用功能。現在有七個組件會宣告其停用狀態,或停用點擊功能。
停用時宣告
當組件具有停用 prop 時,停用點擊功能
-
Button
- #31001 -
Text
- React Native 團隊 commit -
Pressable
- React Native 團隊 commit -
TouchableHighlight
- #31135 -
TouchableOpacity
- #31108 -
TouchableNativeFeedback
- #31224 -
TouchableWithoutFeedback
- #31297
「選取」狀態宣告
過去有些組件在取得焦點時,不會宣告其選取狀態。當組件取得焦點,且 AccessibilityState 設定為選取狀態,或組件變更為選取狀態時,此行為現已修正。
選取時宣告
無障礙功能逾時設定
過去無法在 Android 上查詢無障礙功能逾時設定。此修正新增了查詢 AccessibilityManager.getRecommendedTimeoutMillis()
的能力。這會查詢 UI 元素自動關閉或自動進度前的「採取行動時間」。
文件新增項目
必須更新 React Native 文件,以反映可用 API 的每個新增項目或變更。React Native 文件的新增項目涵蓋了將 getRecommendedTimeoutMillis()
新增至 AccessibilityInfo 的部分。
社群參與
我們想感謝以下所有貢獻者,他們提交並合併了 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 無障礙功能」專案看板上,仍有未解決的無障礙功能議題。關於「已核取/未核取」狀態、「進入/離開集合」,以及「在集合中的位置」的議題,對於目前和新的貢獻者來說,都是為更易於使用的 React Native 做出貢獻的絕佳機會。
深入瞭解
閱讀 Facebook Tech 部落格上關於如何進行缺口分析的文章,或 React Native 部落格上關於 GitHub 議題啟用的文章。