2013-05-31 79 views
5

我很難找到一個明確的答案,至於網站是否可以通過至少WCAG 2.0級別A,如果它以某種方式使用AJAX。WCAG 2.0 A級和AJAX生成的內容

對於example from WCAG2.0指出

「我能滿足WCAG 2.0的JavaScript/AJAX,Flash遊戲,PDF,Silverlight和其他技術? WCAG 2.0旨在適用於範圍廣泛的網絡技術。」

這並不完全是說「是/否」。有些文檔表明,一個網站必須在JavaScript完全禁用的情況下運行(在這種情況下,顯而易見的答案是),但我的印象是這是舊的信息,並且JavaBScript的使用不再是絕對的障礙(請糾正我,如果這是錯誤的!)。

也許這是因爲它太寬泛而無法給一條毯子「是」,所以讓我給出一個具體的(簡化的但本質上相同的)情況。 1)如果我的網站在頁面加載後立即使用AJAX生成數據列表(比方說,用戶列表),我是否可以期望至少在A級(也許更高級別?)通過A)簡化的例子來說明:

<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> 

我的猜測是這樣可以。

2)進一步說,我有一些控制(像prev/next滾動列表頁面或更新內容,簡單地說,這些只是錨標籤),我也可以期望這通過A/AA/AAA?對上面的代碼稍作修改:

<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> 

我希望這也是好的。

我希望我只是迂腐,這一切都好。據我所知,這似乎沒有任何衝突與WebAim's WCAG checklist

+1

這是相當老派(2000年以前)說你不能使用JS。 Mook的答案涵蓋了基本知識。 WCAG2.0分爲4個領域:可預見,可操作,可理解和強大。 TL; DR:是的,您可以使用JS –

回答

6

對於你的第一個問題,並保持使用WebAIM作爲一個很好的資源,它看起來不像站點必須工作沒有Javascript了,至少,至少根據http://webaim.org/discussion/mail_thread?thread=3870

的共識似乎是一個網站沒有工作與 JavaScript的多項標準之一滿足 例如,只要關閉用戶代理是容易和便宜的, 支持JavaScript。

至於使用AJAX,它似乎是完全正常的,只要無障礙的各個方面得到解決,即

  1. 應用程序必須提醒已經發生改變
  2. 允許直接用戶進入新的內容
  3. 允許web應用程序

從的持續功能。

WebAIM在http://webaim.org/techniques/aria/上有一篇很好的後續文章,展示了實現這些目標的方法。我將特別關注動態內容更新部分,該部分強調使用WAI-ARIA 直播區域

+0

謝謝。那麼我上面的例子看起來不完整,因爲方面(1)可能會失敗?你提供的[第二個webaim鏈接](http://webaim.org/techniques/aria/)建議我可以將#ais-live =「polite」屬性添加到#thisIsWhereContentGoes div中作爲一種改進。 – amomin