Javascript 在Jquery完成后运行脚本

Javascript 在Jquery完成后运行脚本,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,首先让我们解释一下黑客 当通过我的网页使用Total Validator工具时,我发现以下错误: [WCAG V1 6.3 A,US -508 L]考虑在每个标签之后提供替代方案 由于我的页面严重依赖javascript,我无法提供真正的替代方案,所以我想在每个脚本出现后添加一个空的noscript标记。我知道黑客很傻,让我们用它作为示例材料,我的帖子的重点是最后的问题 我尝试了以下方法: $(document).ready(function(){ $("script").each(fu

首先让我们解释一下黑客

当通过我的网页使用Total Validator工具时,我发现以下错误:

[WCAG V1 6.3 A,US -508 L]考虑在每个标签

之后提供替代方案 由于我的页面严重依赖javascript,我无法提供真正的替代方案,所以我想在每个脚本出现后添加一个空的noscript标记。我知道黑客很傻,让我们用它作为示例材料,我的帖子的重点是最后的问题

我尝试了以下方法:

$(document).ready(function(){
   $("script").each(function() {
      $(this).after("<noscript></noscript>");
   }); 
});
问题的出现是因为我的页面上有一个jQueryUI日期选择器组件。jQuery在DOM准备就绪后添加了一个脚本部分,因此我的hack失败,因为我错过了这个部分


所以问题是:文档准备好后,如何处理要执行的jQuery库?jQuery完成工作后,如何运行代码?

可访问性工具和您收到的警告消息是指导原则。事后放置空的noscript标记并不能提高可访问性,只会损害您的信誉

我想你想通过测试的原因是你可以拥有一个完全可访问的网站。我认为最好有一个可访问性声明,解释您为使站点可访问性所做的所有选择,以及您的站点未通过测试的原因。这将激发我对您的可访问性的信心,而不是让一个站点通过自动测试

简言之,不要试图欺骗测试和读者,而是遵循指导原则,并解释你是如何做到这一点的

如果您通过JavaScript添加了一个毫无意义的标记,因为只有在浏览器中禁用脚本时才会解析,但如果禁用脚本,则根本不会写入

你有没有阅读过WCAG,而不是盲目地试图修复错误?如果您不能提供一个在没有脚本的情况下工作的替代方案,那么您将没有一个可访问的文档。你应该问自己的第一个问题是:我真的需要遵守吗?如果你这样做了,建立一个网站,它可以100%工作而不激活JavaScript或任何插件。之后,向该站点添加任何脚本化的增强功能。该方法不需要标记,它使禁用JavaScript的用户可以访问您的站点


添加你真的通过JavaScript添加了一个标签吗?同意你的看法。我已经编辑了我的问题来强调这一点。即使这个例子很糟糕,我仍然有疑问:为什么jQuery在$document.ready之后生成html?
document.addEventListened('DOMNodeInserted', function(e) {
    if (e.srcElement instanceof HTMLScriptElement) {
        // a new <script> tag was inserted -> e.srcElement
    }
});