Giorno 13: Usare link veri
La piaga dei progetti web è la presenza del link “javascript:
” , un falso link che rende eseguibile un pezzo di codice Javascript quando si seleziona con un click. Nei weblog normalmente è presente per visualizzare in una nuova finestra i commenti ad un’articolo. Perchè rappresenta un problema? Perchè l’ 11% degli utenti internet non usa Javascript per una ragione o per l’altra, inclusi molti utenti disabili, il cui browser non interpreta questo comando. Questi falsi link non funzionano nei loro browser; usate invece dei veri link.
Anche se facile da descrivere e semplice da correggere, non sottolineerò mai abbastanza l’importanza di questo suggerimento. Alcuni problemi, come non poter saltare la barra di navigazione , riducono l’usabilità a vario grado, ma almeno la pagina può essere, alla fin fine, letta. Qui invece, questo problema rende completamente inaccessibile una sezione completa del sito. Se i commenti sono nascosti dietro un link “javascript:
“, è come se non esistessero.
A chi serve?
- A Marcus. Lynx non è compatibile con Javascript.
- A Michael . Links non è compatibile con Javascript.
- A Lillian. Anche se usa Internet Explorer, il dipartimento informatico ha stabilito una regola per tutta l’azienda che disabilita l’esecuzione di codice Javascript su tutti i siti, salvo pochi casi.
- A Google. Google segue i link per trovare e indicizzare nuovi contenuti, ma non può seguire i link “
javascript:
“, perchè non esegue codice Javascript mentre indicizza il web.
Come fare
I modelli predefiniti in Movable Type e Radio sono ora opportunamente predisposti, così non dovete fare nulla. Guardate il sorgente della vostra home page e cercate “javascript:
“. Se non lo trovate, questo suggerimento non vi serve.
Tuttavia, se il modello Movable Type contiene un link come questo:
<a href="javascript:OpenComments(<$MTEntryID$>)">Comments (<$MTEntryCommentCount$>)</a>
Allora cambiatelo così:
<ahref="<$MTCGIPath$>mt-comments.cgi?entry_id=<$MTEntryID$>" onclick="OpenComments(<$MTEntryID$>); return false">Comments (<$MTEntryCommentCount$>)</a>
Con i browser abilitati al Javascript, funziona allo stesso modo, perchè l’attributo onclick
ha la precedenza rispetto all’attributo href
. Così questa nuova versione continua a chiamare la funzione OpenComments,
che apre una nuova finestra. Tuttavia, i browser non abilitati a Javascript (e Google) ignoreranno interamente l’attributo onclick
e seguiranno il link specificato in href
, che visualizza la pagina nella stessa finestra.
Se state usando il falso link javascript:
per qualsiasi altro motivo, fermatevi. Semplicemente fermatevi. Non passate oltre. Applicate la tecnica descritta al vostro codice, cosicchè i browser non abilitati a Javascript avranno sempre l’opportunità di seguire un vero link.
Approfondimenti
- Jeff Howden: Links & JavaScript Living Together in Harmony.
P.S.
Non fatemi neanche parlare dei sistemi di menu dinamici con Javascript. Vi fanno sembrare alla moda, come il fumare. Usate link veri.