Innovando - Unconventional Communication
RSSTwitterFacebookLinkedInGoogle+
  • Home
  • Chi siamo
    • Perché il web
    • Responsabilità Sociale
    • Codice etico
      • Generation 21
      • Disclaimer
      • Contratto per un sito
  • Cosa facciamo
    • Web Design
    • Web development
    • Copy e webwriting
    • Fare branding 2.0 nelle PMI
  • Categorie
    • Attualità
    • Web
    • Comunicazione
    • Another point of view
    • Vivo in un posto dove…
    • Economia e Impresa
    • Thinking
    • Sharing
    • Chi siamo
  • Contattaci
Il web, per una agenzia di internazionalizzazione Immobilismo politico e immobilismo sociale

JavaScript e accessibilità: esigenze a confronto

08/05/2010 2 Comments

JavaScript e accessibilità non sono due modi contrastanti di vedere il Web. Entrambi hanno come scopo principale il miglioramento dell’esperienza utente, perseguito con modalità diverse.

Infatti, JavaScript opera principalmente sul livello del comportamento di una pagina Web, mentre l’accessibilità è più rivolta alla strutturazione di quest’ultima. Il problema sorge in un unico caso: quando JavaScript non è supportato o è supportato parzialmente.

Il primo caso riguarda quei programmi utente che non offrono supporto nativo a JavaScript. Tipico il caso dei browser testuali (come Lynx) che, pur riconoscendo l’elemento script, non eseguono il codice ivi contenuto. In questo caso, se vogliamo usare degli script, ci sono due alternative:

  1. Creare una versione alternativa del sito senza script intercettando la stringa HTTP_USER_AGENT del browser (nel caso di Lynx contiene la sottostringa Lynx) o, meglio ancora, verificando che il browser supporti JavaScript estraendo informazioni sul suo conto lato server (per esempio, in PHP è possibile farlo tramite la funzione built-in
    get_browser()). Un approccio del genere viene seguito da siti come Amazon e documentato in questo mio post.
  2. Creare degli “accessibility hooks” all’interno del codice delle pagine per far si che i browser che non supportano JavaScript possano accedere lo stesso al contenuto. Per esempio, se ho un link che punta ad un box nascosto tramite JavaScript, posso usare un ancora sul link e un ID sul box per fare in modo che quando l’utente attiva il link (in Lynx premendo Invio) il browser lo reindirizzi sul box:
    <p><a href="#box">Visualizza</a>
    </p> <div id="box">...</div>

    Mai generare gli attributi degli elementi tramite JavaScript: il browser che non supporta JavaScript leggerebbe degli elementi senza attributi, e quindi attivando il link non succederebbe nulla, o meglio, il browser ricaricherebbe il documento.

Il secondo caso riguarda quei programmi utente, come i lettori di schermo, che hanno un supporto parziale a JavaScript. In particolare, il problema principale per questo tipo di programmi è il rendering del contenuto generato dinamicamente tramite script. Ricordiamo questo: i lettori di schermo non sono browser, e quindi leggono quello che il browser del computer carica. Nel caso del contenuto generato tramite script, i lettori di schermo supportano correttamente il contenuto generato quando viene caricata la pagina, ossia durante l’evento load. Per quello che riguarda gli altri eventi, i lettori di schermo leggono il contenuto dinamico solo se gli elementi su cui si attiva l’evento possono ricevere focus da tastiera. Cosa accade in questo caso? Se il lettore di schermo legge il documento con la sua memoria virtuale attivata, allora la lettura del documento ripartirà esattamente dal punto in cui viene inserito il nuovo contenuto. Viceversa, se tale memoria virtuale non è attiva, la lettura ripartirà dall’inizio della pagina. Va da se che questo può rivelarsi davvero problematico se stiamo usando una tecnologia come Ajax.

In altre parole, non bisognerebbe mai delegare a JavaScript la generazione di contenuto vitale per la comprensione delle nostre pagine, cercando sempre di usare un meccanismo di ripiego (fallback mechanism) per quei casi in cui JavaScript non è supportato o è supportato solo in parte.

Autore: Gabriele Romanato

Tagged with: accessibilità • internet • web 2.0 
Share →
Tweet

2 Responses to JavaScript e accessibilità: esigenze a confronto

  1. Giovi scrive:
    08/05/2010 alle 23:58

    Gran bel pezzo! Complimenti!

    Replica
  2. links for 2010-05-09 | Innovando scrive:
    09/05/2010 alle 13:02

    [...] JavaScript e accessibilità: esigenze a confronto JavaScript e accessibilità non sono due modi contrastanti di vedere il Web. Entrambi hanno come scopo principale il miglioramento dell’esperienza utente, perseguito con modalità diverse. [...]

    Replica

Lascia un Commento Cancella la replica

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Twitter Stream

    La democrazia rappresentativa e la crisi della borghesia | Innovando - Unconventional Communication http://t.co/iJ4CbEd7 via @innovando_it - 1 day ago

    E io pago! | Elisa's Blog: http://t.co/icuk1vGn via @AddThis - 1 day ago

    Mida, l’AT, il Potenziamento e la WE Revoution | werevolution http://t.co/AuyMpAp7 via @addthis - 2 days ago

    WE = Me+You = AT | werevolution http://t.co/HXosTRFB via @addthis - 2 days ago

    Il grande Lebowski e lo store-manager http://t.co/2OQy2U0P via @AddThis - 2 days ago

    Antartide, i misteri del lago Vostok raggiunto dopo trent'anni di scavi - Repubblica.it http://t.co/mXEEk4J0 via @repubblicait - 2 days ago

    Adotta un gatto | Innovando - Unconventional Communication http://t.co/bj0CObhu via @innovando_it - 5 days ago

    523 followers
    Vai al profilo di Innovando su Twitter
  • Partners

    Time ADV - Graphic Design, creatività e comunicazione
    In Time
    Multispace_factory. Un dispositivo per sviluppare e sostenere la creatività e l’innovazione; uno strumento per promuovere strategie di sviluppo economico e sociale
    AUGEA - Per calcolo e per passione
    Wolkenland | Hosting unico in Italia per affidabilità performace e sicurezza
    Paola Cinti
La democrazia rappresentativa e la crisi della borghesia | Innovando - Unconventional Communication http://t.co/iJ4CbEd7 via @innovando_it  — innovando_it
  • Tag Cloud

    accessibilità ambiente blog branding cms Comunicazione condivisione consenso crisi cultura design diritti d'autore ecologia economia etica futuro giovani google grafica internet lavoro marketing motori di ricerca photoshop politica Prodotti del Friuli Venezia Giulia Prodotti dell'Emilia Romagna Prodotti della Campania Prodotti della Liguria Prodotti della Lombardia Prodotti della Sicilia Prodotti della Toscana Prodotti delle Marche Prodotti del Piemonte Prodotti del Veneto qualità sociale social network solidarietà visibilità vivo in un posto dove Web web 2.0 webwriting Wordpress

Per il sociale

Associazione Malati Oncologici

Ci impegniamo nella realtà locale dove operiamo e viviamo concretizzando la solidarietà che ci ispira.

Chi è Innovando

Innovando è uno studio di promozione pubblicitaria, specializzato nell'ideazione di strumenti e strategie per la comunicazione di marketing online. Innovando progetta e realizza siti web, portali di e-commerce e blog aziendali proponendo contestualmente la campagna di content strategy per la pubblicazione di contenuti, la visibilità nei motori di ricerca e la brand awareness sui social media.

Innovando S.n.c.

Studio di Promozione Pubblicitaria
Via G. Agnini, 13 - 41012 Carpi (MO)

  • +39 059 681035
  • Contattaci via e-mail
  • RSS Feed


Iscrizione al Reg. Imp. di Modena 21.11.2000
P.IVA e Cod. Fisc. 02681510364