当前位置: 首页 > 面试题库 >

WCAG 2.0 A级和AJAX生成的内容

戚哲
2023-03-14
问题内容

如果网站以某种方式使用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清单没有冲突


问题答案:

对于第一个问题,并继续使用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 实时区域的使用



 类似资料:
  • 问题内容: 对于以下非常简单的任务: 从数据库查询产品列表并将其显示在网页上,请 考虑2种设置: Setup1 :PHP脚本查询。所有内容都建立在服务器上,并且整个页面都返回给客户端。 Setup2 :使用AJAX请求内容的静态HTML“页面框架”。接收到的内容使用Javascript在客户端进行解析,并使用innerHTML或类似内容呈现。 当然,只有当您有可供客户选择的页面,类别和标签时,第二

  • 问题内容: 我在用 单击到容器上的按钮,但随后进行了ajax调用,并且内容使用新内容进行了更新,然后当我尝试单击它时将无法工作…单击该按钮时,将不会返回任何内容。 我什至试过 要么 我该如何运作? 编辑: 我的HTML: 问题答案: 应该以这种方式完成。 如果您的容器在ajax请求期间没有更改,则性能更高: 始终将委托事件绑定到将包含动态元素的最接近的静态元素。

  • 我可以想象其他类似的情况,源代码的某些部分被作为构建的一部分进行处理,而这个过程的结果文件却不是源代码本身的一部分(缩微、聚合、混淆、SASS、Less等)。 我读到,在Spring Boot中,静态内容应该存储在/meta-inf/resources/,/resources/,/static/,/public/下的类路径中的某个位置。但是生成的内容应该输出到哪里呢? 我可以将插件的输出目录更改为

  • 这是Web开发人员的完整参考指南,其中列出了与万维网联盟推荐的层叠样式表规范2级中定义的生成内容相关的所有CSS属性。 单击任何属性以查看其描述的示例 - Sr.No. 财产和描述 1 content 在元素周围插入生成的内容。 2 counter-increment 将计数器增加1; value是一个计数器名称列表,每个名称后面跟一个值递增的值。 3 counter-reset 将计数器重置为零

  • 问题内容: 我想捕获我在jsp中构建的responseXML。我该怎么办。之后,我将其转换为html。我知道这很烦人,我们可以使用框架或类似jquery的库来实现,但我可以用ajax来实现。由于我必须使用JSON SERVICE,因此我在使用jquery和jsp \ servlet时也遇到了问题。为什么在我看来是如此复杂。 问题答案: 不需要那么复杂。您可能只需要一个人调整所有技术即可。JSP,S

  • 我的项目需要能够同时安装 2 个或更多版本。据我所知,我找到的解决方案是更改安装程序每个版本的升级代码。 但是我想自动这样做。在常规GUID中,我只是使用“*”,但这不适用于升级解码。是否有一种方法可以在每个wix预构建或任何其他解决方案中生成新的升级解码?