Nicht zugängliche Aktion

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Stellen Sie sicher, dass interaktive Elemente mit TalkBack aktiviert werden können

Not for use with personal data
note

Dies ist eine experimentelle Regel und daher werden die Ergebnisse als Betatest angesehen. Erfahren Sie mehr über experimentelle Regeln und wie Sie helfen können, sie zu verbessern.

WCAG 2.0 - 2.1.1 A Impact - Critical

Was wir überprüfen

Ein interaktives Element sollte von assistiver Technologie aktiviert werden können. Diese Regel überprüft, dass die mit einem interaktiven Element verbundene Aktion fokussiert und und mit TalkBack oder Switch Access ausgelöst werden kann.

Fehlgeschlagenes Beispiel ❌

An Android Settings screen with a Notifications toggle focused by TalkBack (red border). TalkBack announces 'Notifications, on.' with no activation hint, indicating the action cannot be triggered.

TalkBack kann focus den 'Benachrichtigungen'-Schalter ankündigen, aber cannot activate it

TalkBack meldet "Notifications, on." - keine Rolle oder Aktivierungshinweis wird bereitgestellt

Doppeltippen bewirkt nichts; Benutzer können die Einstellung nicht umschalten

Erfolgreiches Beispiel ✅

An Android Settings screen with a Notifications toggle focused by TalkBack (green border). TalkBack announces 'Notifications, switch button, on. Double-tap to activate.' indicating the action is accessible.

TalkBack kann focus and activate den 'Benachrichtigungen'-Schalter ankündigen

TalkBack meldet "Notifications, switch button, on. Double-tap to activate."

Die Rolle und der Aktivierungshinweis sind vorhanden; Benutzer wissen genau, wie sie mit der Steuerung interagieren können

Auf einen Blick

  • Diese Regel hat eine kritische Wirkung für Benutzer
  • Diese Regel markiert interaktive Elemente, die von assistiver Technologie nicht fokussiert oder aktiviert werden können
  • Interaktive Elemente sind für TalkBack nicht verfügbar, wenn sie als nicht wichtig für Barrierefreiheit markiert sind
  • Ein klickbares Elternelement mit Kindelementen, die Text haben, ist unzugänglich, wenn es vor assistiver Technologie verborgen ist

Auswirkungen auf die Benutzer

Benutzer von assistiver Technologie sind am stärksten betroffen. Wenn TalkBack ein interaktives Element fokussieren kann, es jedoch nicht aktivieren kann, sind Benutzer möglicherweise nicht in der Lage, kritische Aktionen auszuführen – wie das Absenden eines Formulars, das Umschalten einer Einstellung oder das Navigieren zu einem anderen Bildschirm. Dies stellt eine vollständige Barriere für Menschen dar, die ausschließlich auf assistive Technologie angewiesen sind, um mit der App zu interagieren.

note

Die Android-Version, das Gerät und der Hersteller können eine Rolle bei der Erkennung von Problemen spielen.

Nicht zugängliche Aktion bestätigen

  1. Aktivieren Sie TalkBack oder Switch Access
  2. Versuchen Sie, das Element zu fokussieren und mit ihm zu interagieren
  3. Eines der folgenden Dinge wird passieren:
    • Nicht zugänglich: Das Element kann nicht fokussiert oder seine Aktion nicht ausgelöst werden
    • Zugänglich: Das Element wird fokussiert und seine Aktion kann ausgelöst werden

Probleme beheben

Um ein Problem mit einer nicht zugänglichen Aktion zu lösen, stellen Sie sicher, dass das interaktive Element nicht ausdrücklich vor assistiver Technologie verborgen ist. Ansichten, die ohne assistive Technologie zugänglich sind, sollten gleichermaßen für diejenigen verfügbar sein, die sie verwenden.

XML

Setzen Sie die importantForAccessibility-Eigenschaft nicht auf "no" in ansichtstastbaren Elementen. Wenn dieses Attribut vorhanden ist, entfernen Sie es oder setzen Sie es auf "yes" oder "auto".

Compose

Markieren Sie ansichtstastbare Compose-Elemente nicht als invisibleToUser(). Entfernen Sie diesen Modifikator, um sicherzustellen, dass das Element für TalkBack und Switch Access verfügbar ist.

Button(onClick = {  },
    modifier = Modifier.semantics {
        // Remove invisibleToUser() to make this element accessible
        invisibleToUser()
    }
) {
    Text("Click here")
}


FloatingActionButton(onClick = {  }) {
    Image(
        painter = painterResource(id = R.drawable.floating_button),
        contentDescription = "floating button",
        Modifier.semantics { 
            // Remove invisibleToUser() to make this element accessible
            invisibleToUser() 
        }
    )
}

React Native

Dieses Problem ist bei standardmäßigen berührbaren oder drückbaren Steuerelementen in React Native ungewöhnlich, kann jedoch bei benutzerdefinierten interaktiven Elementen auftreten oder wenn importantForAccessibility explizit auf 'no' oder 'no-hide-descendants' gesetzt ist.

Option 1: Dem übergeordneten Element erlauben, den Fokus zu bearbeiten

Setzen Sie den importantForAccessibility des enthaltenen Elements auf 'yes' und weisen Sie die entsprechenden accessibilityRole und accessibilityLabel zu. Setzen Sie importantForAccessibility auf 'no-hide-descendants' bei allen dekorativen Kindelementen, damit TalkBack sie nicht separat fokussiert:

<View
  importantForAccessibility='yes'
  accessibilityRole='button'
  accessibilityLabel='Learn more about Deque'
  onTouchStart={openLink}
>
  <Image 
    source={DequeLogo}
    importantForAccessibility='no-hide-descendants'
    style={{ width: 100, height: 100 }} 
  />
</View>

Option 2: Dem Element selbst erlauben, den Fokus zu bearbeiten

Setzen Sie importantForAccessibility='yes' und accessibilityRole direkt auf die Steuerung:

<Image
  source={DequeLogo}
  importantForAccessibility='yes'
  accessibilityRole='imagebutton'
  accessibilityLabel='Learn more about Deque'
  onTouchStart={openLink}
  style={{ width: 100, height: 100 }}
/>

Flutter

Flutters Material-Widgets (ElevatedButton, IconButton usw.) machen Tap-Aktionen automatisch für den Screenreader verfügbar. Beim Erstellen benutzerdefinierter interaktiver Elemente mit GestureDetector umgeben Sie sie mit MergeSemantics und einem Semantics-Widget, damit der Screenreader das Element in einem einzigen Fokusstop entdecken und aktivieren kann.

MergeSemantics(
  child: Semantics(
    button: true,
    label: 'Archive item',
    child: GestureDetector(
      onTap: () {},
      child: Container(
        padding: const EdgeInsets.all(12.0),
        color: Colors.green.shade100,
        child: const Text('Archive item'),
      ),
    ),
  ),
)

Kann ich diese Regel ignorieren?

Nicht zugängliche Aktion hat eine Kritische Auswirkung für Benutzer, und wir empfehlen dringend, diese Probleme zu beheben. Da dies eine experimentelle Regel ist, sollten Sie die Ergebnisse manuell überprüfen. Wenn Sie bestätigt haben, dass das Element von TalkBack aktiviert werden kann, kann es akzeptabel sein, den Befund zu ignorieren. Erfahren Sie mehr über Regeln ignorieren.

Ressourcen

Deque University Kursseiten

Hinweis: Der vollständige Zugriff auf die Ressourcen von Deque University erfordert ein Abonnement.

Weitere Ressourcen