Mi chiedo se dovrei aspettarmi che i browser e la technilogy assistiva circa gennaio 2015 parlino: nessuno in un modo equivalente a impostare aria-hidden = "true". Mi piacerebbe indicare che alcuni testi semi-opachi dovrebbero essere ignorati e mi chiedo se posso farlo in un'unica operazione (aggiungendo semplicemente una classe che definisce lo stile opaco e parla: nessuno, piuttosto che aggiungere la classe e impostare il attributo aria-hidden).L'impostazione css parla: nessuna ora equivalente a aria-hidden = "true"?
risposta
Non sembrano essere dati affidabili sul supporto a speak
, ma sembra non essere implementato.
Indipendentemente dallo stato di implementazione, speak: none
è non equivalente a aria-hidden="true"
.
In base al CSS Speech Module CR, la proprietà speak
"determina se rendere o meno il testo in modo uditivo", ovvero udibile.
Secondo la specifica ARIA, aria-hidden
“indica che l'elemento e tutti i suoi discendenti non sono visibili o percepibile a qualsiasi utente come implementata dall'autore” (corsivo nell'originale).
Pertanto, aria-hidden="true"
non causa nulla; solo dichiara che l'autore ha nascosto l'elemento. E si riferisce a tutti i tipi di rendering: udibile, visibile, tattile, o qualunque altra modalità possa essere inventata in futuro.
Grazie per aver sottolineato la differenza di significato tra i due metodi e per la citazione dalla specifica ARIA. Ora devo chiedermi dovunque aria-hidden = "true" sia appropriato per il testo che è stato reso semanticamente irrilevante attraverso l'opacità, ma è ancora in qualche modo visibile. Idealmente, il testo sarebbe completamente nascosto, ma in questo caso non ho il controllo del design, solo l'implementazione. –
@MikeGodin, se è semanticamente irrilevante (cioè senza significato), penso che dovrebbe avere 'role = presentation' impostato su di esso. –
@ JukkaK.Korpela - 'role = presentation' non significa che il contenuto del testo sia irrilevante/privo di significato; significa solo che i _semantics del tag stesso_ devono essere ignorati: quindi, ad esempio, '' sarebbe trattato come testo normale 'OK' o come' OK', e non come un pulsante. – BrendanMcK
Non sono sicuro di aver capito lo scenario; è il testo qui oscurato da alcune UI modali (ad es. lightbox); o è solo un testo visivamente nascosto impostando l'opacità in modo completamente trasparente anziché (per qualsiasi motivo) usando 'display: none' o' visibility: hidden', che sono i soliti modi per nascondere il contenuto? – BrendanMcK
@BrendanMcK, lo scenario qui è che il testo è in grigio in un modo che lo rende visivamente irrilevante. Mi piacerebbe che fosse irrilevante anche per i dispositivi di accessibilità. –
Se è davvero "visivamente irrilevante", quindi aria-hidden suona come una buona partita. Difficile sapere per certo senza vedere l'interfaccia utente; come contro-esempio, i pulsanti disabilitati sono generalmente in grigio, ma sono ancora visibili e ancora disponibili per gli screen reader, dal momento che sono ancora pertinenti, ma non sono attuabili in quel momento specifico (ad es. perché non tutti i campi sono ancora stati compilati) compilato). – BrendanMcK