2013-05-31 8 views
5

Non riesco a trovare una risposta chiara se il sito può passare almeno al livello A di WCAG 2.0 se utilizza AJAX in qualche modo.WCAG 2.0 livello A e contenuto AJAX generato

Per example from WCAG2.0 afferma

"Posso incontrare WCAG 2.0 con Javascript/Ajax, Flash, PDF, Silverlight, e altre tecnologie? WCAG 2.0 è stato progettato per applicare a una vasta gamma di tecnologie web."

Che non dice esattamente "sì/no". Alcuni documenti suggeriscono che un sito deve funzionare con JavaScript completamente disabilitato (nel qual caso la risposta ovvia è no), ma ho l'impressione che si tratti di informazioni vecchie e l'uso di JavaBcript non è più una barriera assoluta (per favore correggimi se questo è sbagliato!).

Forse è perché è troppo largo per dare una coperta "SÌ", quindi mi permetta di dare una situazione concreta (semplificata ma essenzialmente la stessa).

1) Se il mio sito utilizza AJAX per generare un elenco di dati (diciamo un elenco di utenti) immediatamente dopo il caricamento della pagina, posso aspettarmi di passare almeno al Livello A (e forse anche ai livelli più alti?) A esempio semplificato per illustrare:

<h1> Stuff loads here on page load </h1> 
<div id="thisIsWhereContentGoes"> 
</div> 
<script type="text/javascript"> 
    var url = 'http://yourfavoritedatasource.url'; 
    var request = $.ajax({ 
     url: url, 
     type: "post", 
     data: 'text' 
    }); 
    request.done(function (response, textStatus, jqXHR){ 
     jQuery('#thisIsWhereContentGoes').html(response); 
    }); 
</script> 

La mia ipotesi è che questo sia ok.

2) Andando ancora un po ', diciamo che ho alcuni controlli (come prev/next per scorrere le pagine di un elenco o aggiornare il contenuto, per dire che si tratta semplicemente di tag di ancoraggio), posso anche aspettarmelo passare a A/AA/AAA? Una leggera modifica al codice sopra:

<a href="javascript:doRequest()"> Next </a> 
<script type="text/javascript"> 
    doRequest(); 
    function doRequest() 
    { 
     var url = 'http://yourfavoritedatasource.url'; 
     var request = $.ajax({ 
      url: url, 
      type: "post", 
      data: 'text' 
     }); 
     request.done(function (response, textStatus, jqXHR){ 
      jQuery('div').html(response); 
     }); 
    } 
</script> 

Spero che anche questo sia ok.

Spero di essere solo pedante e va tutto bene. Per quanto ne vedo, nessuno di questi sembra essere in conflitto con WebAim's WCAG checklist

+1

È abbastanza vecchia scuola (pre-2000) per dire che non è possibile utilizzare JS. La risposta di Mook copre le basi. WCAG2.0 è suddiviso in 4 aree: Preceivable, Operable, Understandable e Robust. TL; DR: Sì, è possibile utilizzare JS –

risposta

6

Alla tua prima domanda, e mantenendo l'uso di WebAIM come una grande risorsa, non sembra che i siti debbano funzionare senza Javascript, almeno secondo http://webaim.org/discussion/mail_thread?thread=3870.

Il consenso sembra essere che un sito non deve funzionare con JavaScript spento finché uno di una serie di criteri sono soddisfatti esempio che un agente utente sia facilmente ed economicamente disponibile che supporta JavaScript.

Come per l'utilizzo AJAX, sembra essere perfettamente bene finché tutti gli aspetti dell'accessibilità vengono affrontati, cioè

  1. La domanda deve avvisare l'utente che è stato un cambiamento
  2. accettano diretta l'accesso al nuovo contenuto
  3. consentire il proseguimento funzionalità dell'applicazione web

da http://webaim.org/techniques/ajax/.

WebAIM ha un ottimo articolo di follow-up che mostra i modi per raggiungere questo tipo di obiettivi allo http://webaim.org/techniques/aria/. Vorrei dare un'occhiata in particolare alla sezione degli aggiornamenti dei contenuti dinamici che enfatizza l'uso delle regioni live WAI-ARIA .

+0

Grazie. Quindi i miei esempi sopra sembrano incompleti perché l'aspetto (1) può fallire? [Il secondo link webaim] (http://webaim.org/techniques/aria/) che fornisci suggerisce che potrei aggiungere un attributo aria-live = "educato" al div di #thisIsWhereContentGoes come un imporvement. – amomin

Problemi correlati