允许用户使用浏览器设置覆盖CSS以获取辅助功能

时间:2017-05-11 18:00:12

标签: javascript html css accessibility

我是一名Web开发和编程学生,通过我的课程,我发现我对使用响应式Web设计进行面向Web开发的“包容性和可访问性”特别感兴趣。

我正在尝试使用HTML5制作我的网站(尝试尽可能严格,a-la XHTML,并尝试尽可能有效),我遇到了一个允许我的CSS(颜色)的问题,字体等...)或多或少地回到用户需要的任何东西,以便使用该网站。

我从Heydon Pickering的书“包容性设计模式”中选择的一件事是使用:

    <link rel="stylesheet" href="main.css" media="none" onload="if(media!='all')media='all'"/>

听起来不错,但它无法验证(使用validator.w3.org),因为:

Error: Bad value none for attribute media on element link: Media query ended prematurely.

我知道我可以使用Javascript(jQuery等),但是为了与Progressive Enhancement保持一致,我需要让它可用,无论Javascript是否启用(强制这些东西不是我的地方)对用户而言。)

我的主要问题是,有没有办法让我的CSS被客户端覆盖,这样用户就可以使用设置,让他们在不使用Javascript的情况下充分利用他们的网页浏览体验,或者只是直接没有有效的HTML?

我还没有那么精彩的整体网页设计或编程,但这是我真正想继续做的事情。对于与此有关的任何和所有帮助,我都会很慷慨。

非常感谢你。

2 个答案:

答案 0 :(得分:4)

  

我是否有办法让我的CSS被客户端覆盖,以便用户可以使用设置,让他们充分利用他们的网页浏览体验,而无需使用Javascript,或者只是直接没有有效的HTML?

许多浏览器(包括Chrome和Firefox)都有一个称为用户样式表的功能,允许用户为各种用例实现自定义CSS,包括可访问性增强功能(例如,使文本更大或增加对比度)。此功能已内置,不需要任何第三方扩展,但像Stylish这样的扩展可帮助管理用户样式表。

由于它完全是客户端的,并且已经内置,因此您不需要做任何作为在您的网站上启用此功能的作者。

答案 1 :(得分:0)

CSS样式表还能够查询它们所显示的媒体或设备类型。考虑编写一个利用不同Media features进行条件显示的查询。

此外,可访问网页最重要的一个方面是正确,格式良好,符合标准的HTML标记。这意味着正确使用语义元素,例如<h1><aside><header><label>等。许多用户将使用辅助技术,如屏幕阅读器,收集其所有来自浏览页面内呈现的标记的信息。

当你这么说时,你是对的:

  

无论Javascript是否启用,我都需要让它可用(这不是我强迫用户使用这些东西的地方)。

为此,请下载NVDA之类的屏幕阅读器,并实际假装满足目标受众的无障碍需求。当您的页面通过验证器时很好,但是当您确实知道要启用的人员实际已启用时会更好。