Nome accessibile significativo
Il nome accessibile di un elemento non deve includere il suo tratto di accessibilità.
Questa regola applica le best practice stabilite dalle linee guida sull'interfaccia utente di Apple. Puoi disattivare questa regola dalla dashboard mobile oppure ignorando la regola nei test scritti per iOS.
Scopri come disattivare le regole dalla dashboard mobile.
Impatto
Gli utenti di VoiceOver dovrebbero avere accesso alle stesse informazioni visibili sullo schermo, senza che vengano ripetute nell'annuncio di VoiceOver.
Conferma
- Attiva VoiceOver
- Concentrati sull'elemento
- Si verificherà una delle seguenti situazioni:
- Inaccessibile: VoiceOver annuncerà due volte il tratto di accessibilità dell'elemento: come parte del nome accessibile dell'elemento e come tratto di accessibilità (ad esempio, l'annuncio sarà "Pulsante successivo, pulsante").
- Accessibile: VoiceOver annuncerà il nome accessibile dell'elemento seguito dalla caratteristica di accessibilità. La caratteristica verrà annunciata solo una volta dopo il nome (ad esempio, l'annuncio sarà "Avanti, pulsante").
Come risolvere
Un problema riscontrato da questa regola si verifica quando il nome accessibile contiene la caratteristica di accessibilità dell'elemento.
UIKit
Nello storyboard:
- Seleziona l'elemento con un
MeaningfulAccessibleName
difetto - Assicurarsi che il pannello degli ispettori sia visibile
- Selezionare l'Identity Inspector
- Nella sezione Accessibilità è presente una categoria denominata "Etichetta". Inserisci un'etichetta che corrisponda esattamente o contenga tutto il testo visibile e che non includa la caratteristica di accessibilità dell'elemento come parte dell'etichetta.
Nel codice:
Individuare dove è stata impostata l'etichetta di accessibilità e assicurarsi che il valore dell'etichetta di accessibilità corrisponda o contenga tutto il testo visibile del componente e non contenga l'accessibility trait dell'elemento.
button.title = "Next"
button.accessibilityTraits = .button
SwiftUI
Assicurati di impostare un'etichetta di accessibilità che non includa la caratteristica di accessibilità dell'elemento.
Button(action: {
openMenu()
}) {
Text("Next")
}.accessibility(label: Text("Next"))
React Native
Assicurarsi che l'etichetta di accessibilità di un elemento non contenga il ruolo di accessibilità dell'elemento.
<Button title='Order now' accessibilityLabel='order now' accessibilityRole='button'/>