CSS  »  Articoli  »  Effetti con CSS 

La tecnica off-left per contenuti accessibili

di: Alessandro Fulciniti     05 Settembre 2006

È una buona pratica, purtroppo poco utilizzata, quella di fornire contenuti di supporto e ausili alla navigazione di pagine web a utenti di screen reader, browser testuali e dispositivi alternativi. L'accessibilità è un argomento vasto e complesso: una trattazione esaustiva si può trovare nella guida Accessibilità dei siti web pratica. Un ruolo significativo lo giocano però anche i CSS, e sarà questo l'argomento che tratteremo.

Perchè non usare display:none

È una pratica comune nascondere a schermo link di salto ai contenuti e testo di supporto attraverso una classe CSS che ha un nome ormai quasi standard, ovvero "hidden". A questa classe viene sovente associata erroneamente la seguente regola CSS:

.hidden{
    display: none
    }

Qualcuno dei lettori ricorderà che sulla dichiarazione display:none si basa anche la prima tecnica di image replacement, ovvero la FIR, a cui Ë seguita l'approfondita e critica analisi Facts and opinion about Fahrner Image Replacement.

In breve, il risultato è che usare display:none presenta un problema: ha l'effetto di non rendere visivamente i contenuti a schermo ma li nasconde anche a diversi screen reader, soprattutto quelli basati sul rendering engine di Internet Explorer, con conseguente perdita di informazione a utenti con disabilità e dispositivi di navigazione alternativi.

Per questo motivo display:none, seppure possa sembrare una soluzione pratica e veloce per nascondere contenuto di supporto a schermo, non andrebbe mai usata.

La tecnica off-left

Ci sono molti modi per nascondere a schermo l'informazione senza usare display:none e molti possono essere presi in prestito proprio dalle tecniche di image replacement che sono seguite alla FIR. La tecnica off-left si presenta però quasi pensata proprio per questo motivo.

In sostanza si tratta di portare fuori dalla parte visibile dello schermo link e informazioni di supporto alla navigazione e consultazione grazie ai posizionamenti assoluti. La classe "hidden" diventa quindi:

.hidden{
    position: absolute;
    top: -9999px;left:-9999px;
    }

In questo modo gli elementi di pagina a cui viene attribuito la classe "hidden" verranno resi dal browser, solo non saranno visibili perché fuori dallo schermo. Basterà quindi attribuire nell'HTML tale classe agli elementi che vorremo nascondere a schermo ma che forniamo proprio per essere un ausilio alla navigazione e alla consultazione a dispositivi alternativi. Alla prossima.

Guide CSS

Responsive Desing, la guida

Progettare siti da fruire su dispositivi diversi è imprescindibile...

Guida CSS3

Scoprire e usare al meglio tutte le novità dell'ultima versione dei...

Guida CSS Tecniche essenziali

Testo, immagini, layout, form, liste, tabelle: soluzioni pronte per...

Altre guide

Newsletter @CSS

Ogni mercoledì, direttamente nella tua e-mail: guide, articoli, tutorial, FAQ e approfondimenti tecnici su CSS e Web Design.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti