Web 无障碍设计(Web Accessibility)是指使得 Web 应用可以无障碍地被任何人,不论是否具有身体或者认知障碍所访问。因此,实现 Web 无障碍设计已经成为前端开发的重要课题。在本文中,我们将详细探究 Web 无障碍设计的实践,并提供一些指导性的内容。
角色和语义
Web 无障碍设计的一个基本原则是语义性,而语义化的 HTML 主要包含 HTML 标签,属性和内容。然而,这种语义性超越了普通的 HTML 标记。在 Web 无障碍设计中,HTML 标记需要传达一定的语义,以便可以使用与可视传达不同的方式来传达内容。
例如,表单元素应该具有描述性标签。对于有身体障碍的人,如屏幕阅读器用户,这些标签是其理解表单的唯一方式。如果您已经在表单元素中使用了正确的标签,则无需添加额外的标记来解释您的表单。但是,当用户遇到无描述性标签的表单元素时,他们所使用的屏幕阅读器将无法解释这些元素的作用,因此无法进行输入。
另一个示例是列表和标题。有语义性列表和标题,与没有使用它们的页面相比更易于理解。此外,使用适当的标题可以使屏幕阅读器更好地了解页面的主要内容。
键盘导航
许多无障碍设计的问题涉及键盘导航。键盘用户需要能够使用键盘完成所有的任务,并举行诸如空间或输入组合键之类的操作。
例如,如果您使用 ARIA 角色和属性(例如 role = button
或 aria-expanded
),则必须在您的标记上添加相应的功能以便实现键盘导航和键盘可访问性。另一个示例是制作一个链接可用的方式。使用键盘,有时候用户需要先访问一个链接,然后才能访问链接指向的内容。使用 HTML 的 tabindex
属性,您可以为链接制作一个无障碍的焦点。
有意义的颜色对比度
在 Web 无障碍设计中,颜色对比度是至关重要的。当用户遇到过低的颜色对比度时,无论其是否有视力障碍,其工作将会变得很难。
如果您正在开发或设计带有颜色的网站,则应确保文本和背景颜色之间的对比度足够高。通常,WCAG 2.0 AA 级别的最小要求为 4.5:1。您可以使用颜色对比度计算器等工具来检测颜色对比度是否足够。
不过,时刻保持注意的是,更高的颜色对比度并不意味着美观。让用户可以成功地使用您的网站比美学更为重要。
实例代码
<div> <label for="searchInput">搜索服务</label> <input type="search" id="searchInput" name="q"> <button type="submit">搜索</button> </div>
在上述 HTML 代码中,为搜索表单元素添加了一个“搜索服务”的标签。在这种情况下,这种表单元素的目的变得非常明确并且传达给了所有用户,包括屏幕阅读器用户。
总结
Web 无障碍设计的实践涉及诸如 HTML 的语义化、有合理颜色对比度、键盘导航等等问题。但是,我们仅仅在本文中涉及了其中一部分问题。在开发过程中,应该始终保持对无障碍技术和实践的关注,并且尽力减小用户面对访问障碍的阻止。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a618e748841e989429e13b