2015-01-03 4 views
5

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"?

+0

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

+0

@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à. –

+0

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

risposta

6

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.

+0

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. –

+0

@MikeGodin, se è semanticamente irrilevante (cioè senza significato), penso che dovrebbe avere 'role = presentation' impostato su di esso. –

+0

@ 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