一尘不染

WCAG 2.0 A级和AJAX生成的内容

ajax

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

对于例如从WCAG2.0状态

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

那并不完全是“是/否”。一些文档建议网站必须在完全禁用JavaScript的情况下起作用(在这种情况下,明显的答案是 no
),但是我的印象是这是旧信息,并且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>

我的猜测是这样还可以。

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的WCAG清单没有冲突


阅读 231

收藏
2020-07-26

共1个答案

一尘不染

对于第一个问题,并继续使用WebAIM作为重要资源,似乎至少在http://webaim.org/discussion/mail_thread?thread=3870看来,站点不再需要使用Javascript才能正常工作。

共识似乎是,只要满足许多条件之一,站点就不必在关闭JavaScript的情况下工作,例如,可以轻松,廉价地获得支持JavaScript的用户代理。

至于使用AJAX,只要可访问性的所有方面都得到解决,这似乎就很好了,即

  1. 应用程序必须警告用户已发生更改
  2. 允许直接访问新内容
  3. 允许Web应用程序继续运行

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

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

2020-07-26