Nicht zugängliche Aktion
Dies ist eine experimentelle Regel und daher gelten die Ergebnisse als Betatest-Ergebnisse. Erfahren Sie mehr über experimentelle Regeln und wie Sie dazu beitragen können, sie zu verbessern.
Interaktive Ansichten sollten mit unterstützender Technologie fokussierbar sein.
Hinweis: Diese Regel hieß früher Inaktive barrierefreie Ansicht.
Auswirkung
Die durch diese Regel festgestellten Probleme wirken sich auf jeden aus, der unterstützende Technologien verwendet. Problematisch ist die Unfähigkeit, mit dem Bedienelement zu interagieren, während unterstützende Technologie (AT) verwendet wird, obwohl dasselbe Bedienelement auch ohne AT bedient werden kann.
Die Android-Version, das Gerät und der Hersteller können bei der Problemerkennung eine Rolle spielen.
Bestätigung
- TalkBack oder SwitchAccess aktivieren
- Eines der folgenden Ereignisse wird eintreten:
- Nicht zugänglich: Die Ansicht kann nicht fokussiert oder mit ihr interagiert werden.
- Zugänglich: Die Ansicht ist fokussiert und zur Interaktion verfügbar.
So beheben Sie das Problem
XML
Vermeiden Sie es, die importantForAccessibility Eigenschaft bei antippbaren Ansichten auf no aussagekräftige Informationen zu setzen. Ansichten, auf die Benutzer ohne unterstützende Technologie zugreifen können, sollten auch für Benutzer unterstützender Technologien verfügbar sein.
Compose
Vermeiden Sie es, antippbare Compose-Ansichten mit aussagekräftigen Informationen als invisibleToUser zu markieren. Ansichten, auf die Benutzer ohne unterstützende Technologie zugreifen können, sollten auch für Benutzer unterstützender Technologien verfügbar sein.
Entfernen Sie in beiden folgenden Beispielen invisibleToUser , um sicherzustellen, dass Ansichten für Personen verfügbar sind, die unterstützende Technologien verwenden.
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
Dieses Zugänglichkeitsproblem kann bei den meisten berührbaren oder drückbaren Steuerelementen in React Native nicht auftreten. Bei einigen benutzerdefinierten aktiven Steuerelementen kann dieses Problem jedoch auftreten.
Option 1: Erlauben Sie der übergeordneten Ansicht, den Fokus zu steuern
Setzen Sie die accessible Eigenschaft der enthaltenen Ansicht auf „true“ und deren accessibilityElementsHidden Eigenschaft auf „false“. Weisen Sie das Entsprechende accessibilityRole zu, um das erwartete Verhalten zu erreichen. Diese Eigenschaften ermöglichen die Aktivierung der benutzerdefinierten Steuerung durch assistive Technologie.
<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: Element den Fokus steuern lassen
Setzen Sie im Steuerelement die Eigenschaft accessible auf „true“, die Eigenschaft accessibilityElementsHidden auf „false“ und weisen Sie die entsprechende Eigenschaft accessibilityRole zu, um das erwartete Verhalten zu erzielen. Diese Eigenschaften ermöglichen die Aktivierung der benutzerdefinierten Steuerung durch assistive Technologie.
<Image
source={DequeLogo}
accessible={true}
accessibilityElementsHidden={false}
accessibilityRole='link'
accessibilityLabel='Learn more about Deque'
onTouchStart={openLink}
style={{ width: 100, height: 100 }}
/>