我怎么能“关掉”样式表呢?

时间:2011-03-11 20:39:46

标签: javascript html css accessibility

我正在为大学任务创建一个网站,我们必须专注于可访问性功能。我已成功设法使用调整大小文本按钮,但我正在寻找一种通过按钮或链接关闭css文件的方法。

我已经在网上搜索,似乎找不到很多,我找到了一个很好的网站,有我正在寻找的按钮所以点击F12,但它不会显示它的javascript。

理想情况下,我想在不使用javascript的情况下实现它,但如果没有其他办法,那么我愿意接受任何帮助。

我很抱歉,如果这是一个简单的问题,但我确实很难找到答案,但无济于事,我只是一年级学生,所以还有很长的路要走!

4 个答案:

答案 0 :(得分:29)

这应该有效

for ( i=0; i<document.styleSheets.length; i++) {
    void(document.styleSheets.item(i).disabled=true);
}

答案 1 :(得分:4)

当用户点击“特殊”链接时,您可以在服务器端执行此操作,您的服务器端代码只是“跳过”样式表元素。

答案 2 :(得分:4)

这是从javascript快速执行此操作的好方法:

  1. 使用标记body.enabled

    之前的所有CSS规则
    body.enabled p {
    }
    
    body.enabled #Myselector {
    }
    ...
    
  2. 声明您的标记:

    ...
    <body class="enabled">
        ...
    </body>
    ...
    
  3. 在您的JavaScript中,当您要禁用CSS时,请从"enabled"中删除类<body>,然后将其切换为其他内容(例如,“已禁用”)。使用你认为合适的任何方法来做到这一点(jQuery会使这很简单,但可以不用)

  4. 你并没有真正使用它来禁用CSS,你只是这样做,所以它都不适用。从用户的角度来看,他们可能不会知道差异。

答案 3 :(得分:0)

您是否正在尝试模仿已在浏览器中设计的所有功能(T +,T-,无CSS)?您是否被要求建立一个可访问的网站或专门实现辅助功能?我理解这是一项任务,但这是浪费时间恕我直言,这个时间可以更好地用于实施WCAG 2.0推荐。 (我经常使用"Accessiweb" methodology。)

我的第一个想法是解构现有的CSS,如Universal IE6为IE6做的(你只需删除条件评论并针对每个浏览器)但@kappa解决方案似乎更好,因为在这两种情况下你必须有权访问源代码。