Skip to content

Accessibility: State

Maciej Jastrzebski edited this page Oct 8, 2022 · 7 revisions

Accessibility State

iOS

Control Screen Reader Label Value Traits Identifier Hint User Input Labels
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{ checked: true }} /> "checkbox, checked" (none) checkbox, checked (empty) (none) (none) (empty array)
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{ checked: 'mixed' }} /> "checkbox, mixed" (none) checkbox, mixed (empty) (none) (none) (empty array)
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{ checked: false }} /> "checkbox, not checked" (none) checkbox, not checked (empty) (none) (none) (empty array)
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{}} /> "checkbox" (none) checkbox (empty) (none) (none) (empty array)
<View accessible={true} accessibilityRole="checkbox" /> "checkbox" (none) checkbox (empty) (none) (none) (empty array)

Android

Control Screen Reader
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{ checked: true }} /> "checked, checkbox"
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{ checked: 'mixed' }} /> "mixed, checkbox"
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{ checked: false }} /> "not checked, checkbox"
<View accessible={true} accessibilityRole="checkbox" accessibilityState={{}} /> "checkbox"
<View accessible={true} accessibilityRole="checkbox" /> "checkbox"

Findings:

  • Android & iOS behave quite consistently between the cases
  • lack of checked state is treated differently than checked: false
Clone this wiki locally