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 }}
/>