Logo LineeguidaLinee guida per siti ed applicazioni web della Regione Emilia-Romagna

linee guida per siti ed applicazioni web Logo - Regione Emilia-Romagna
Linee Guida» Per Tecnici»

Script, applet e plug-in

Utilizzare tecnologie non-standard per fornire SOLO funzionalità ed informazioni accessorie.

Ad oggi, non è possibile realizzare alcuna applicazione web utilizzando unicamente tecnologie AJAX: è possibile migliorare le applicazioni usando AJAX e seguendo il metodo chiamato "Progressive enhancements" (Miglioramento progressivo). Oggi non è neppure possibile utilizzare unicamente Flash come contenuto: nonostante sia una tecnologia diffusa e matura, soffre ancora di problemi di accessibilità.


Requisiti di script, applet e plug-in



Suggerimenti

Per offrire un´alternativa testuale all´uso degli script si può utilizzare il tag <NOSCRIPT>. All'interno di questo elemento occorre dare una vera alternativa, e non semplicemente segnalare il fatto che per quell'utente alcune o tutte le funzioni sono inibite.

Eventi

La generazione di eventi deve essere controllata dall´utente e non attivata automaticamente. In particolare:

Contenuti dinamici

Anche l'aggiornamento dei contenuti della pagina deve essere controllato dall'utente, evitare quindi:

Effetti visivi

Fate attenzione a particolari effetti visivi che si possono realizzare con queste tecnologie (es. DHTML):

Nuove finestre

Aprire finestre in pop-up o nuove finestre  è sconsigliato, anche se risulta utile, accessibile e comunque maggiormente usabile in certi casi:

In questi casi o anche se una pagina deve interagire con un'altra (es. per la selezione di un dato) e non si hanno altre alternative, si può aprire una nuova finestra (ma in modo accessibile, vedi esempi)

... e ancora



Esempi

Nuove finestre (pop-up)

Per aprire nuove finestre è necessario mantenere la correttezza del codice XHTML, e dare la possibilità a chi non ha o non supporta javascript di accedere a tali pagine. Esistono varie tecniche per un "perfect popup ", una di esse (di Accessify.com) è adottata da queste stesse linee guida.

Nell'HTML basta associare una classe al link da aprire nella nuova finestra

<a href="popup.html"" rel= "external" >Link da aprire in popup</a>

e aggiungere una funzione javascript alla pagina

function externalLinks( ) {
  if (!document.getElementsByTagName) return; 
  var anchors = document.getElementsByTagName("a"); 
  for (var i=0; i<anchors.length; i++) {
 var anchor = anchors[i]; 
    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {  
   anchor.title     = "il collegamento apre una nuova finestra" ;
        anchor.onclick   = function( ) { window.open( this.href ); return false; }
        anchor.onkeypress= function(e) { k = (e) ? e.keyCode : window.event.keyCode; if (k==13) window.open(this.href); return false; }
    }
  }
}

poi richiamare la funzione al caricamento della pagina

<body onload="externalLinks( )">

Menu dinamici

A volte per migliorare la chiarezza dei contenuti occorre nascondere alcune parti: un esempio di liste dinamiche e accessibili si trova sul sito della Regione

Script per migliorare l'accessibilità

Javascript è un linguaggio che si può utilizzare anche per migliorare l'accessibilità. Per migliorare la leggibilità di questo sito quando la risoluzione dello schermo è bassa (più piccola di 640px: document.body.clientWidth<641) o il carattere molto grande (offsetHeight > "30") i contenuti si ridispongono su una singola colonna grazie a questo codice.

function MinimumFontSize() {
 var XDivElement = document.getElementById('q');
  if ((XDivElement.offsetHeight > "30")||(document.body.clientWidth<641)) {
    tags = new Array ('contenuto_home', 'approfondimenti_home', 'contenuto', 'laterale');
    for (j = 0; j < tags.length; j ++) {
      var getbody = document.getElementById(tags[j]);
      if (getbody) {
  getbody.style.styleFloat='none';
  getbody.style.display = 'block';
        getbody.style.width = '99%';
  getbody.style.margin = '0';
  getbody.style.clear = 'both';
      }
    }
  }
}

Questo codice viene eseguito solo al caricamento della pagina.


Verifiche per script, applet e plugin

Verificare l'accessibilità di questi tipi di oggetto può essere molto complesso perchè essi potrebbero richiedere la verifica pratica sia con diversi browser che con tutte le tecnologie assistive. 
Un metodo per verificare la rispondenza ai requisiti è:
  1. Verificare che esista almeno un'alternativa accessibile con il browser testuale Lynx per navigare la pagina.
  2. Utilizzare la pagina per verificare che funzioni correttamente con i seguenti browser (pari al 96% degli user agent che visitano il sito ERMES da gennaio 2007) anche su sistemi operativi diversi ove possibile:
    • Microsoft Internet Explorer 7.x per Windows XP o Vista 
    • Microsoft Internet Explorer 6.x per Windows XP o 2000 
    • Mozilla Firefox 2.x su Windows/OsX/Linux
    • Apple Safari 2.x per OSX o 3 per Windows/OSX
    • Opera 9 per Windows/OsX/Linux
  3. Utilizzare la pagina con la sola tastiera

Alcune verifiche possono essere fatte con la barra dell'accessibilità (versione 2.0) , controllando:



Approfondimenti