ID regola: image-has-accessibility-label
Tutte le immagini devono avere un testo alternativo per comunicare il loro scopo e significato agli utenti di lettori di schermo.
Perché è importante
Di default, gli screen reader non hanno la possibilità di tradurre un'immagine in parole. Le versioni più recenti di VoiceOver e TalkBack dispongono di funzionalità avanzate che tentano di fornire testo per le immagini, ma non sempre ciò è accurato. Di conseguenza, è necessario che le immagini abbiano un testo alternativo breve e descrittivo, in modo che gli utenti di lettori di schermo possano comprendere chiaramente il contenuto e lo scopo dell'immagine.
Per chi non può vedere, tutti i tipi di informazioni visive, come le immagini, sono completamente inutili a meno che non venga fornita un'alternativa testuale digitale che consenta ai lettori di schermo di convertire tale testo in suono o Braille. Lo stesso vale in varia misura per le persone ipovedenti o daltonizzate.
Come risolvere il problema
Assicurarsi che tutti i Image
componenti con un accessible
prop impostata su true includano anche un accessibilityLabel
prop. Inoltre, assicurati che tutti i Image
componenti con un accessibilityLabel
prop abbiano anche la accessible
prop impostata su true per essere disponibili per gli screen reader.
Esempi positivi
<Image
source={require("pug.jpg")}
style={styles.image}
accessible
accessibilityLabel="A small fawn pug"
/>
<Image
source={require("pug.jpg")}
style={styles.image}
accessible={true}
accessibilityLabel="A small fawn pug"
/>
<Image
source={require("pug.jpg")}
style={styles.image}
accessible="true"
accessibilityLabel="A small fawn pug"
/>
<Image
source={require("pug.jpg")}
style={styles.image}
accessible={false}
/>
<Image
source={require("pug.jpg")}
style={styles.image}
/>
Esempi negativi
Il componente Image
ha una accessible
proprietà ma nessuna accessibilityLabel
proprietà.
<Image
source={require("pug.jpg")}
style={styles.image}
accessible
/>
<Image
source={require("pug.jpg")}
style={styles.image}
accessible={true}
/>
Il componente Image
ha una accessibilityLabel
proprietà ma nessuna accessible
proprietà.
<Image
source={require("pug.jpg")}
style={styles.image}
accessibilityLabel="A small fawn pug"
/>
Il componente Image
con una accessible
proprietà non dovrebbe avere una accessibilityLabel
proprietà vuota.
<Image
source={require("pug.jpg")}
style={styles.image}
accessible
accessibilityLabel=""
/>