2011-01-25 11 views
8

Come nascondere qualsiasi elemento dalla pagina solo dallo screen reader ma non dalla pagina per gli utenti normali?Come nascondere qualsiasi elemento dalla pagina solo dallo screen reader ma non dalla pagina per gli utenti normali?

Conosco questi frammenti ma voglio nascondere qualcosa dallo screen redaer ma non dalla pagina visivamente. Il lettore Sscreen dovrebbe saltare la parte nascosta.

/* Hide for both screenreaders and browsers 
     css-discuss.incutio.com/wiki/Screenreader_Visibility */ 
    .hidden { display: none; visibility: hidden; } 

/* Hide only visually, but have it available for screenreaders 
    www.webaim.org/techniques/css/invisiblecontent/ ; & j.mp/visuallyhidden ; */ 
    .visuallyhidden { position: absolute !important; 
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 
    clip: rect(1px, 1px, 1px, 1px); } 

/* Hide visually and from screenreaders, but maintain layout */ 
    .invisible { visibility: hidden; } 

risposta

0

io non sono certo se screen reader obbediscono nulla nel nuovo modulo vocale CSS3, ma potrebbe essere qualcosa che si potrebbe testare, in quanto sembra che l'opzione più semplice se funziona.

http://www.w3.org/TR/css3-speech/

+0

Penso che molti lettori di schermo non supportino '@media aural' o' @media speech' nonostante siano in giro da molti anni, quindi il discorso CSS3 sembra improbabile –

+1

Sucks. Vorrei che questa roba fosse supportata. Renderebbe le nostre vite molto più semplici. –

3

penso la risposta di Michael sopra sarebbe il modo più semanticamente sana e corretta di compiere ciò che si desidera. L'unico problema è il supporto per screen reader e browser, come sottolinea.

Un modo rapido e sporco è visualizzare qualsiasi contenuto visivamente come un'immagine e assegnargli un valore alt text vuoto, ad es.

<img src="visualcontentonly.png" alt="" /> 

Qual è il contenuto che si desidera nascondere dagli utenti di screen reader? Potrebbe esserci un modo più appropriato di affrontare il problema. Anche se la visualizzazione come immagine funzionerebbe, potrebbe essere disapprovata da un punto di vista dell'accessibilità, a seconda di cosa sia il contenuto.

6

Utilizzare questo sull'elemento:

aria-hidden="true" 

Questo visualizza l'elemento come normale per gli utenti vedenti, ma non viene letta ad alta voce da uno screen reader.

+0

Questo non è vero per JAWS 12.0. Mentre i futuri dispositivi assistivi probabilmente supporteranno questo, la funzionalità non è attualmente implementata universalmente. – theJBRU

Problemi correlati