WCAG 2.0 A级和AJAX生成的内容

amo*_*min 5 ajax accessibility

我很难找到一个明确的答案,如果它以某种方式使用AJAX,那么至少WCAG 2.0级别的网站是否可以通过.

对于例如从WCAG2.0状态

"我可以使用Javascript/Ajax,Flash,PDF,Silverlight和其他技术来满足WCAG 2.0吗?WCAG 2.0旨在应用于广泛的Web技术."

这并不能说"是/否".一些文档表明,一个网站必须完全禁用JavaScript(在这种情况下明显的答案是否定的),但我的印象是这是旧信息,并且使用JavaBcript不再是绝对的障碍(请纠正我如果这是错的!).

也许这是因为它太宽泛而无法给出"是",所以让我给出具体的(简化但基本相同)的情况.

1)如果我的网站在页面加载后立即使用AJAX生成数据列表(比方说,用户列表),我是否可以期望至少在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>
Run Code Online (Sandbox Code Playgroud)

我的猜测是没关系.

2)再往前走一点,说我有一些控件(比如上一页/下一页滚动列表页面或更新内容,简单地说这些只是锚标签),我还可以期待它通过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>
Run Code Online (Sandbox Code Playgroud)

我希望这也没关系.

我希望我只是迂腐,这一切都好.据我所知,这似乎与WebAim的WCAG清单没有任何冲突

got*_*les 6

对于您的第一个问题,并继续使用WebAIM作为一个很好的资源,它看起来不再是没有Javascript的网站,至少根据http://webaim.org/discussion/mail_thread?thread=3870.

共识似乎是,只要满足许多标准中的一个,例如用户代理可以轻松且廉价地支持JavaScript,网站就不必关闭JavaScript.

至于使用AJAX,只要解决了可访问性的所有方面,就好了

  1. 应用程序必须提醒用户已发生更改
  2. 允许直接访问新内容
  3. 允许Web应用程序的持续功能

来自http://webaim.org/techniques/ajax/.

WebAIM有一篇很好的后续文章,展示了在http://webaim.org/techniques/aria/实现这些目标的方法.我将特别关注动态内容更新部分,该部分强调使用WAI-ARIA 实时区域.