我是一名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?
我还没有那么精彩的整体网页设计或编程,但这是我真正想继续做的事情。对于与此有关的任何和所有帮助,我都会很慷慨。
非常感谢你。
答案 0 :(得分:4)
我是否有办法让我的CSS被客户端覆盖,以便用户可以使用设置,让他们充分利用他们的网页浏览体验,而无需使用Javascript,或者只是直接没有有效的HTML?
许多浏览器(包括Chrome和Firefox)都有一个称为用户样式表的功能,允许用户为各种用例实现自定义CSS,包括可访问性增强功能(例如,使文本更大或增加对比度)。此功能已内置,不需要任何第三方扩展,但像Stylish这样的扩展可帮助管理用户样式表。
由于它完全是客户端的,并且已经内置,因此您不需要做任何作为在您的网站上启用此功能的作者。
答案 1 :(得分:0)
CSS样式表还能够查询它们所显示的媒体或设备类型。考虑编写一个利用不同Media features进行条件显示的查询。
此外,可访问网页最重要的一个方面是正确,格式良好,符合标准的HTML标记。这意味着正确使用语义元素,例如<h1>
,<aside>
,<header>
,<label>
等。许多用户将使用辅助技术,如屏幕阅读器,收集其所有来自浏览页面内呈现的标记的信息。
当你这么说时,你是对的:
无论Javascript是否启用,我都需要让它可用(这不是我强迫用户使用这些东西的地方)。
为此,请下载NVDA之类的屏幕阅读器,并实际假装满足目标受众的无障碍需求。当您的页面通过验证器时很好,但是当您确实知道要启用的人员实际已启用时会更好。