ajax - WCAG 2.0 A 级和 AJAX 生成内容

标签 ajax accessibility

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

对于 example from WCAG2.0状态

"Can I meet WCAG 2.0 with Javascript/Ajax, Flash, PDF, Silverlight, and other technologies? WCAG 2.0 is designed to apply to a broad range of web technologies."



这并不完全是“是/否”。一些文件建议网站必须在完全禁用 JavaScript 的情况下运行(在这种情况下,明显的答案是否定的),但我的印象是这是旧信息,使用 JavaBcript 不再是绝对障碍(请纠正我如果这是错误的!)。

也许这是因为它太宽泛而不能一概而论"is",所以让我给出一个具体(简化但基本相同)的情况。

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)再进一步,假设我有一些控件(比如上一个/下一个滚动列表页面或更新内容,简单地说,这些只是 anchor 标签),我是否也可以期望它在 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 没有冲突。

最佳答案

对于你的第一个问题,并继续使用 WebAIM 作为一个很好的资源,看起来站点不再需要在没有 Javascript 的情况下工作,至少根据 http://webaim.org/discussion/mail_thread?thread=3870 .

The consensus seems to be that a site does not have to work with JavaScript turned off as long as one of a number of criteria are met e.g. that a user agent is easily and cheaply available that does support JavaScript.



至于使用 AJAX,只要解决可访问性的所有方面,即
  • 应用程序必须提醒用户发生了更改
  • 允许直接访问新内容
  • 允许 Web 应用程序的持续功能

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

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

    关于ajax - WCAG 2.0 A 级和 AJAX 生成内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16861246/

    相关文章:

    html - 我们可以根据可访问性在 "a"标签内放置一个 div 吗?

    html - iOS Voice Over 无法读取 Aria-Label

    javascript - 如何在ajax "success:"之后弹出

    javascript - 如何在 Web 浏览器中以 html 或 javascript 实现文本转语音?

    html - 修正游戏的 ARIA 属性

    javascript - 循环遍历 jQuery Then When 的 Ajax 请求的两种方法 - 使用哪个?

    CSS大纲最佳实践

    javascript - ajax 请求后的 Ajax,以正常方式提交表单

    jquery - getJson 未在外部计算机上的 IE 11 中运行

    javascript - 带按钮的 HTML 表单分配最后一个按钮的值,无论选择哪个按钮