lunedì 19 gennaio 2009

sIFR, ovvero come usare qualsiasi carattere nel web

Circola già da parecchio tempo nella rete, ma non se ne sente parlare molto.
Si tratta di sIFR, il metodo per inserire caratteri "non standard" nelle pagine web senza sacrificare l'accessibilità, l'ottimizzazione per i motori di ricerca o la semantica del linguaggio di markup.

Come funziona?
L'intento di sIFR è quello di sostituire alcune frasi in testo "semplice" con un testo scritto con un qualsiasi carattere di nostra scelta, senza doversi preoccupare che questo sia installato nel computer dei nostri visitatori. Come è possibile? Grazie ad un'abile combinazione di Javascript, CSS e Flash.

In pratica:
  1. Il browser carica una normale pagina (X)HTML.
  2. Una funzione javascript dapprima controlla che Flash Player sia installato e quindi controlla i tag, gli id e le classi che abbiamo assegnato al testo.
  3. Se Flash non è installato, o se Javascript è disabilitato, non succede nulla. Altrimenti Javascript controlla il codice della nostra pagina misurando ogni elemento che vogliamo "trasfomare" con sIFR.
  4. Una volta terminata la misurazione, lo script crea un filmato Flash delle stesse dimensioni e lo posiziona sopra all'elemento originale, passando al filmato il testo originale come variabile.
  5. L'actionscript interno al filmato provvede a scrivere il testo con il carattere da noi scelto, ridimensionandolo fino a che non rientra perfettamente nelle dimensioni del filmato.

Tutto questo accade in meno di un secondo, per cui nulla di questo processo è visibile all'utente. Al limite si potrebbe riscontrare un breve ritardo nel caricamento del filmato Flash.

Accessibilità
sIFR è accessibile dagli screenreader e da altre tecnologie di assistenza. Nonostante l'uso di Flash, l'accessibilità viene mantenuta dal codice, che contiene solo testo. Inoltre il testo prodotto da sIFR è selezionabile, e quindi può essere copiato ed incollato dagli utenti. E naturalmente può essere linkato.

Compatibilità
La compatibilità è totale, nel senso che i maggiori browser vedono correttamente lo script, mentre tutti gli altri vedono comunque un testo formattato, anche se non nel carattere desiderato.

Link utili

1 commento:

Anonimo ha detto...

Ciao..interessante questo articolo!
Lo hai per caso testato?
Inoltre ho un dubbio soltanto: se richiede la pagina html ed il flash, bisogna fare un doppio lavoro di impaginazione?

grazie Eloisa

Posta un commento