HTML dinamico e JavaScript

Cos’è l’HTML dinamico (DHTML)?DHTML è una combinazione di CSS (Fogli di Stile) e di JavaScript. I fogli di stile permettono di posizionare gli oggetti in qualunque punto della pagina, specificandone i valori di altezza, larghezza, le coordinate ed anche la profondità per le diverse sezioni della pagina. COn JavaScript questi parametri possono essere modificati in tempo reale, anche sulla base dell’input dell’utente o sul verificarsi di specifiche condizioni.

I problemi di JavaScript e di DHTML
Il DHTML può risultare non accessibile in presenza di utenti che si avvalgono di strumenti di assistenza alla navigazione. Molti degli attuali screen reader utilizzano Internet Explorer come base per la navigazione sul web, ed esso è in grado di eseguire JavaScript, ma ciò non significa che ogni script risulti accessibile. Se il codice JavaScript richiede l’uso del mouse (come in molti menu DHTML), esso risulterà non accessibile agli utenti di screen reader, e a quelli che si avvalgono di strumenti di supporto fisico. E’ certamente vero che se il codice crea un semplice effetto di rollover, senza fornire alcuna informazione aggiuntiva all’utente (come gli effetti di rollover che enfatizzano alcune immagini), non c’è alcun bisogno di intervenire per modificare l’accessibilità. Ciò che importa è fare attenzione quando si parla di contenuto.

OnChange e OnSelect
Alcuni sviluppatori creano schede in grado di modificarsi o di ridirigere l’utente su un’altra pagina o su un altro elemento della scheda quando un certo oggetto viene selezionato o attivato. Queste funzionalità non richiedono che l’utente faccia clic sul pulsante di Submit, ed il problema è che questo genere di menu non sono accessibili tramite la tastiera. Quando l’utente cerca di “scrollare” l’elenco delle opzioni, il codice JavaScript interpreta questa azione come un evento OnSelect, che invia l’utente in un’altra pagina. Ed è praticamente impossibile navigare i un menu come questo senza usare il mouse, quindi non usare questa funzionalità in JavaScript.

Ridirezione di pagina
Ci sono degli script in JavaScript che ridirigono l’utente su un’altra pagina non appena quella originaria viene caricata. Ciò può essere causa di mancanza di orientamento, e rende più difficile riposizionare il browser sulla pagina originaria, visto che l’utente dovrà fare clic due volte, velocemente, sul pulsante ‘indietro’ del browser. E’ possibile che l’utente resti intrappolato in una pagina, e che non possa abbandonarla se non chiudendo manualment il browser o digitando l’indirizzo di una nuova pagina.

Finestre popup
Gli script JavaScript che aprono più finestre contemporaneamente – per esempio le pubblicità su alcune home pages – possono disorientare l’utente dato che il focus viene trasferito ad una pagina diversa da quella originaria, che per di più non contiene nulla di quanto ci si attendeva. Usate queste finestre sempre con molta cautela, anche nel caso in cui contengano informazioni utili e non fuorvianti.

Spostare il focus
Come con le finestre popup, JavaScript è in grado di spostare il focus sulla pagina web, per esempio selezionando degli elementi in un form senza che l’intervento diretto dell’utente. Anche in questo caso, gli utenti che usano gli screen readers avranno grosse difficoltà ad orientarsi, o quanto meno ad accedere all’intero contenuto della pagina.

Rimozione delle barre
All’atto dell’apertura di una finestra popup con JavaScript, lo sviluppatore ha l’opportunità di non far visualizzare la barra degli strumenti, le barre di scorrimento, la barra di stato, e così via. Ma ciascuno di questo elementi facilita l’accessibilità per specifiche tipologie di disabili. Quindi si dovrebbe essere assai cauti anche nell’eliminare gli strumenti standard previsti dal browser.

Ed ancora, è anche possibile per lo sviluppatore impedire il ridimensionamento della finestra, il che può rappresentare un problema per gli utenti che hanno bisogno di ingrandire lo schermo; essi saranno obbligati a visualizzare il contenuto ingrandito attraverso una piccola finestra, piuttosto che a schermo pieno.

Condividi:

Roberto Castaldo

Sono nato e vivo a Napoli, ed opero professionalmente nel mondo dell'informatica da più di vent'anni. In realtà l'informatica, insieme alla musica e ad altre poche cose, è stato da sempre un mio chiodo fisso, e la buona sorte mi ha aiutato a trasformarlo in un mestiere. Sin dalle mie primissime esperienze lavorative - insegnavo dattilografia ed i primi rudimenti di informatica in una scuola privata - mi sono trovato a mio agio nel settore della formazione e della divulgazione, certamente aiutato dai miei studi classici. Nel 1987 ho iniziato la mia attività come insegnante d'informatica in un Istituto Professionale Statale - per circa due anni sono stato il più giovane insegnante di ruolo d'Italia. Ho avuto svariate esperienze anche nel settore privato come sviluppatore (TPascal - lo ricordate? - VB, ASP e, più di recente VB.NET ed ASP.NET), ma soprattutto come docente e come divulgatore. Ho effettuato attività di formazione presso le più grandi realtà imprenditoriali italiane (IBM, Omnitel, Telecom Italia, TIM, Unicredito, Ekip, BNL, SSGRR), ma anche all'estero in qualità di docente e/o progettista di percorsi formativi; gli argomenti spaziano dal mondo Office fino al multimedia ed alla programmazione avanzata ASP ed ASP.NET. Ho collaborato con l'Istituto Italiano per gli Studi Filosofici di Napoli, ho redatto articoli/tutorial per un'importante rivista informatica (Win98 Magazine), ed ho partecipato allo sviluppo di CD-Rom Multimediali (IBM, Selfin, BNL) curando personalmente la registrazione dei commenti audio ed il montaggio delle musiche (CoolEdit), l'eventuale connessione a database remoti, l'assemblaggio degli elementi testuali, grafici e multimediali (Director 8) fino alla creazione del master definitivo. Negli anni 1998-2000 ho collaborato con la Gazzetta dello Sport Online curando, in occasione dei più importanti avvenimenti sportivi (Mondiali ed Europei di calcio, Giro d'Italia, Campionato di Serie A) le pagine contenenti la traduzione in inglese e francese degli articoli in italiano. Il mio compito consisteva nell'inviare ai miei traduttori la cronaca in italiano, riceverne la traduzione, creare le pagine inglesi e francesi del sito www.gazzetta.it e pubblicarle sul server, il tutto entro 90 minuti dalla fine dell'evento. Nel frattempo, mi avvicinavo in maniera sempre più approfondita alle problematiche legate all'accessibilità di siti web, progettando percorsi di formazione ad hoc, ed aderendo entusiasticamente al progetto webaccessibile.org. Sono stato per diversi mesi membro del XML Protocol Working Group del W3C, ed attualmente partecipo ai lavoro del WAI Web Content Accessibility Guidelines (WCAG) Working Group e del E&O Education ad Outreach Working Group.