Action non réalisable
Il s’agit d’une règle expérimentale et ses résultats sont donc considérés comme étant en phase de test bêta. Apprenez-en davantage sur les règles expérimentales et comment vous pouvez contribuer à les améliorer.
Les vues interactives doivent pouvoir être focalisées à l'aide d'une technologie d'assistance.
Remarque : cette règle était auparavant nommée Vue accessible inactive.
Impact
Les problèmes détectés par cette règle ont un impact sur toute personne utilisant une technologie d’assistance. L’incapacité d’interagir avec le contrôle tout en utilisant une technologie d’assistance (TA) alors que le même contrôle peut être utilisé sans TA est un problème.
La version d'Android, l'appareil et le fabricant peuvent jouer un rôle dans la détection du problème.
Confirmation
- Activer TalkBack ou SwitchAccess
- L’une des situations suivantes se produira :
- Inaccessible : la vue ne peut pas être mise en évidence ni interagi avec.
- Accessible : la vue est mise en évidence et disponible pour interagir avec.
Comment corriger
XML
Évitez de définir la propriété importantForAccessibility
sur les vues exploitables qui contiennent des informations significatives pour no
. Les vues auxquelles les personnes peuvent accéder sans technologie d’assistance devraient être disponibles pour ceux qui utilisent cette technologie.
Compose
Évitez de marquer les vues Compose exploitables avec des informations significatives comme invisibleToUser
. Les vues auxquelles les personnes peuvent accéder sans technologie d’assistance devraient être disponibles pour ceux qui utilisent cette technologie.
Dans les deux exemples ci-dessous, supprimez invisibleToUser
pour garantir que les vues sont disponibles pour les personnes utilisant des technologies d'assistance.
Button(onClick = { },
modifier = Modifier.semantics {
//Remove the below API to make it accessible
invisibleToUser()
}
) {
Text("Click here")
}
FloatingActionButton(onClick = { }) {
Image(
painter = painterResource(id = R.drawable.floating_button),
contentDescription = "floating button",
Modifier.semantics {
//Remove the below API to make it accessible
invisibleToUser()
}
)
}
React Native
Ce problème d'accessibilité ne peut pas se produire sur la plupart des contrôles tactiles ou pressables dans React Native ; cependant, ce problème peut se produire avec certains contrôles actifs personnalisés.
Option 1 : autoriser la vue parent à gérer le focus
Définissez la propriété accessible
de la vue contenante sur true et sa propriété accessibilityElementsHidden
sur false. Affectez le approprié accessibilityRole
pour correspondre au comportement attendu. Ces propriétés permettront au contrôle personnalisé d’être activé par la technologie d’assistance.
<View
accessible={true}
accessibilityElementsHidden={false}
accessibilityRole='link'
accessibilityLabel='Learn more about Deque'
onTouchStart={openLink}
>
<Image
source={DequeLogo}
style={{ width: 100, height: 100 }}
/>
</View>
Option 2 : autoriser l'élément à gérer le focus
Sur le contrôle, définissez la propriété accessible
sur true, accessibilityElementsHidden
à false et attribuez la valeur appropriée à accessibilityRole
pour correspondre au comportement attendu. Ces propriétés permettront au contrôle personnalisé d’être activé par la technologie d’assistance.
<Image
source={DequeLogo}
accessible={true}
accessibilityElementsHidden={false}
accessibilityRole='link'
accessibilityLabel='Learn more about Deque'
onTouchStart={openLink}
style={{ width: 100, height: 100 }}
/>