有効なアクセシビリティロール
React Nativeコンポーネントが有効なaccessibilityRoleプロップを使用するルール
Not for use with personal data
ルールID: has-valid-accessibility-role
accessibilityRole 補助技術のユーザーにコンポーネントの目的を伝えます。
accessibilityRole は次のいずれかになります。
adjustable調整可能な要素の場合に使用します(例:スライダー)。alert重要なテキストをユーザーに提示する要素の場合に使用します。button要素をボタンとして扱うべき場合に使用します。checkboxチェック、未チェック、または混合チェック状態を持つチェックボックスを表す要素の場合に使用します。combobox複数の選択肢から選べるコンボボックスを表す要素の場合に使用します。headerコンテンツセクションのヘッダーとして機能する要素の場合に使用します(例:ナビゲーションバーのタイトル)。image要素を画像として扱うべき場合に使用します。ボタンやリンクと組み合わせることができます。imagebutton要素をボタンとして扱い、同時に画像でもある場合に使用します。keyboardkey要素がキーボードキーとして機能する場合に使用します。link要素をリンクとして扱うべき場合に使用します。menuコンポーネントが選択肢のメニューである場合に使用します。menubarコンポーネントが複数のメニューを含むコンテナである場合に使用します。menuitemメニュー内のアイテムを表す場合に使用します。none要素に役割がない場合に使用します。progressbarタスクの進行状況を示すコンポーネントを表す場合に使用します。radioラジオボタンを表す場合に使用します。radiogroupラジオボタンのグループを表す場合に使用します。scrollbarスクロールバーを表す場合に使用します。searchテキストフィールド要素を検索フィールドとしても扱うべき場合に使用します。spinbutton選択肢のリストを開くボタンを表す場合に使用します。summaryアプリの起動時に現在の状況の簡単な要約を提供する要素として使用されます。switchスイッチを表し、オンとオフにできる場合に使用します。tabタブを表す場合に使用します。tablistタブのリストを表す場合に使用します。text変更のできない静的なテキストとして要素を扱うべき場合に使用します。timerタイマーを表す場合に使用します。togglebuttonトグルボタンを表す場合に使用します。ボタンがオンになっているかオフになっているかを示すためにaccessibilityState checkedと共に使用されるべきです。toolbarツールバー(アクションボタンやコンポーネントのコンテナ)を表す場合に使用します。gridScrollView、VirtualizedList、FlatList、またはSectionListでグリッドを表す場合に使用します。AndroidのGridViewにグリッドの出入りを示すアナウンスを追加します。
なぜ重要か
無効な役割値が割り当てられた要素は、支援技術によって開発者が意図したとおりに解釈されません。
スクリーンリーダーや他の支援技術が各要素の役割を把握していないと、それに対して知的に対話することができず、役割をユーザーに伝えることもできません。役割値が無効な場合、要素の機能、プロパティ、情報をユーザーに伝えるまたはユーザーから受け取る方法は支援技術を通じて伝達できません。
問題の修正方法
accessibilityRole の値が有効なロールであることを確認してください。
通過例
<TouchableOpacity accessibilityRole="button">
<Text>Increase Count</Text>
</TouchableOpacity>失敗例
<TouchableOpacity accessibilityRole="secondary-button">
<Text>Increase Count</Text>
</TouchableOpacity>