Controllo Attivo Annidato

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

Evita di incorporare più controlli attivi all'interno di un singolo elemento di accessibilità

Not for use with personal data
note

Questa è una regola sperimentale e pertanto i suoi risultati sono considerati in fase di beta testing. Scopri di più su regole sperimentali e su come puoi contribuire a migliorarli.

WCAG 2.0 - 2.1.1 A Impact - Critical

Scopri come stiamo utilizzando l'intelligenza artificiale per questa regola!

Cosa Verifichiamo

Un elemento di accessibilità non dovrebbe avere più controlli attivi incorporati al suo interno. TalkBack non può attivare più di un controllo all'interno di un singolo elemento di accessibilità, quindi l'utente dovrebbe poter focalizzare e interagire individualmente con ogni controllo attivo.

Esempio Errato ❌

An Android shopping app showing three product cards each outlined with a red TalkBack focus border. Inside each card are 'Add to Cart', wishlist, and share buttons that are unreachable. A label at the bottom reads 'Cards are focused - buttons unreachable'

TalkBack focuses each entire card as a single unit

I pulsanti "Aggiungi al carrello", lista dei desideri e condividi annidati all'interno di ogni scheda non sono raggiungibili

Gli utenti di TalkBack non possono attivare i controlli individuali all'interno della scheda

Esempio Corretto ✅

An Android shopping app showing three product cards where each control within a card is individually numbered with a green badge: image (1), product name (2), Add to Cart (3), wishlist (4), and share (5). A label reads 'Individual controls within cards can be focused'

Ogni controllo all'interno di una scheda è individually focusable da TalkBack

TalkBack naviga all'immagine, nome del prodotto, pulsanti "Aggiungi al carrello", lista dei desideri e condividi come elementi separati

Gli utenti possono attivare ciascuna azione in modo indipendente

In Sintesi

  • Questa regola ha un impatto critico per gli utenti
  • Un elemento di accessibilità non dovrebbe contenere più controlli interattivi che sono individualmente cliccabili ma nascosti dalla tecnologia assistiva
  • TalkBack può attivare solo una azione per ciascun elemento focalizzato - se più controlli sono annidati e nascosti, gli utenti non possono raggiungerli in modo indipendente

Impatto sugli Utenti

Le persone che utilizzano TalkBack sono le più colpite. Quando più controlli attivi sono annidati all'interno di un singolo elemento di accessibilità, TalkBack può attivarne solo uno o potrebbe attivare completamente quello sbagliato. Questo significa che gli utenti potrebbero attivare un'azione non voluta, non ricevere alcuna risposta oppure essere completamente incapaci di accedere a certi controlli.

Conferma il Problema di Controllo Attivo Annidato

  1. Attiva TalkBack
  2. Prova a focalizzare il controllo
  3. Prova ad attivare il controllo
  4. Si verificherà una delle seguenti condizioni:
    • Inaccessibile: Non succede nulla
    • Inaccessibile: Il controllo viene attivato, ma la sua cornice di focus contiene un altro controllo
    • Inaccessibile: Un diverso controllo viene attivato
    • Accessibile: Il controllo viene attivato ed è l'unico controllo nella sua cornice di focus

Risolvere i Problemi

Evita elementi cliccabili annidati. Assicurati che ogni elemento cliccabile sia individualmente focalizzabile dalla tecnologia assistiva. Se un elemento genitore deve gestire un'azione complessiva, i controlli figlio dovrebbero essere nascosti dalla tecnologia assistiva affinché gli utenti non siano presentati con interazioni conflittuali o irraggiungibili.

XML

Do not set the importantForAccessibility property to "no" on clickable elements nested inside a layout. If child controls should not be individually accessible, ensure the parent handles the action and is the only focusable element.

Compose

Evita il seguente schema, dove un genitore cliccabile contiene figli nascosti con invisibleToUser() — gli utenti di TalkBack non potranno raggiungere i controlli figlio nascosti:

Row(modifier = Modifier.clickable { ... }) {
    Text("Settings", 
        modifier = Modifier.clickable { ... }
            .semantics { 
        invisibleToUser() 
    })
    Text("Information", 
        modifier = Modifier.clickable { ... }
            .semantics { 
        invisibleToUser() 
    })
}

Se i figli hanno azioni individuali, assicurati che il genitore non sia anche cliccabile. L'esempio corretto qui sotto mostra ciascun figlio come cliccabile indipendentemente, con un genitore non cliccabile:

Row {
    Text("Settings", 
        modifier = Modifier.clickable { ... })
    Text("Information", 
        modifier = Modifier.clickable { ... })
}

React Native

Se un controllo figlio non dovrebbe essere focalizzato individualmente, assicurati che l'elemento genitore sia accessibile e gestisca l'azione. Imposta importantForAccessibility='no-hide-descendants' sul figlio così che sia nascosto dalla tecnologia assistiva:

<TouchableOpacity
   style={{flexDirection:'row', alignItems: 'center',}}
   onPress={() => props.navigation.navigate('FocusableTextExample')}
   accessible={true}
   accessibilityLabel={"Purchase items in your shopping cart"}>
     <Button title="Buy"
       importantForAccessibility='no-hide-descendants'
       accessibilityElementsHidden='true'
       adjustsFontSizeToFit={true}
       marginBottom={20}
       titleStyle={{
         color: "white",
         fontSize: 20,
        }}
        buttonStyle={{
          height: 50,
          width: 200
        }}
     />
</TouchableOpacity>

Posso Ignorare Questa Regola?

Il Controllo Attivo Annidato ha un impatto critico per gli utenti, e raccomandiamo vivamente di risolvere questi problemi. Dal momento che questa è una regola sperimentale, dovresti verificare i risultati manualmente. Se hai confermato che tutti i controlli attivi all'interno dell'elemento sono raggiungibili e attivabili individualmente da TalkBack, potrebbe essere accettabile ignorare il rilevamento. Scopri di più su ignorare le regole.

Risorse

Pagine dei Corsi Deque University

Nota: L'accesso completo alle risorse della Deque University richiede un abbonamento.

Altre Risorse