GAADプレッジ - 1年後
FacebookがReact NativeをアクセシブルにするためのGAADプレッジを行ってから1年が経過し、プロジェクトは私たちの期待を上回りました。このプロジェクトが2021年も継続することを発表し、これまでの進捗状況を皆様にお知らせしたいと思います。昨年のReact Nativeのアクセシビリティギャップの徹底的な分析の後、これらのギャップを埋める作業が開始されました。
90件の未解決のギャップ分析の問題から始まり、GitHubでプロジェクトが開始された2021年3月から現在まで
-
コミュニティによって11件の問題が解決されました。
-
React Nativeチームによって19件の問題が評価され、解決されました。
-
9件のプルリクエストがマージされました。
-
1件のプルリクエストがReact Nativeドキュメントにマージされました。
過去1年間で、よりアクセシブルなReact Nativeに向けて大きな進歩を遂げたReact Nativeコミュニティに感謝したいと思います。すべての貢献者の努力が、React Nativeアクセシビリティの改善に貢献しました。
修正
9件のプルリクエストにより、複数のコンポーネントで2種類の問題が修正され、1つの新しい機能がAPIに追加されました。
-
無効状態の問題が7つのコンポーネントで解決されました
-
選択状態の問題が2つのコンポーネントで解決されました
-
React Native APIに新しい機能が追加され、AccessibilityManager.getRecommendedTimeoutMillis()をクエリできるようになりました。
無効状態の通知と無効化機能
ギャップ分析中に見つかった最も一般的な問題の1つは、一部のコンポーネントが機能を通知または無効にしないことでした。現在、7つのコンポーネントは、無効状態を通知するか、クリック機能を無効にします。
無効時の通知
コンポーネントにdisabledプロップがある場合、クリック機能を無効にする
-
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ドキュメントへの新しい追加では、AccessibilityInfoへのgetRecommendedTimeoutMillis()
の追加について説明しました。
コミュニティの参加
プルリクエストを提出してマージした下記のすべての貢献者と、問題を確認してコメントしたすべての方々に感謝します。
マージされたプルリクエスト
- @huzaifaaakは、次の3つの問題を解決しました
- @natural_clarは、次の1つの問題を解決しました
- fabriziobertoglio1987は、次の2つの問題を解決しました
- @kyamashiro73は、次の1つの問題を解決しました
- @grgr-dkrkは、次の1つの問題を解決し、React Nativeドキュメントに追加しました
- @crloscuestaは、次の1つの問題を解決しました
- @chakrihackerは、次の1つの問題を解決しました
他の方法で時間を費やしてくれたコミュニティメンバーに感謝します!
Simek, saurabhkacholiya, meehawk, intergalacticspacehighway, chrisglein, jychiao and Waltari10
参加しましょう!
私たちは長い道のりを歩んできましたが、まだ終わりではありません。ゴールに到達するためには、皆さんのご支援が必要です。FacebookのReact Nativeチームは、ギャップ分析の課題に取り組むコントリビューターを支援することを約束しています。アクセシビリティに関する問題へのコメントへの対応やプルリクエストのトリアージを継続します。React Nativeチームは、最も困難なギャップ分析の課題にも取り組んでいます。これには、accessibilityRolesの他の言語への正しい翻訳や、特定のコンポーネントのエラーテキストの指定が含まれます。
残りの課題への取り組みにご協力ください。改善されたReact Nativeアクセシビリティプロジェクトボードには、まだ未解決のアクセシビリティに関する問題があります。チェック/未チェックの状態、コレクションからの出入り、コレクション内の位置に関する問題は、現在および新規のコントリビューターが、よりアクセシブルなReact Nativeに貢献するための絶好の機会です。
詳細はこちら
Facebook Techブログでギャップ分析がどのように実施されたか、またはReact NativeブログでGitHubの課題が開始されたことについてお読みください。