内容驱动型 Web 应用前端的无障碍功能

无障碍 Web 应用设计是提供良好的用户体验和总体应用用户满意度的关键组成部分。无障碍 Web 应用可以确保残障人士和不同地理位置的用户都能获得同等的访问权限。如果用户的听觉、认知、语言或视觉能力存在障碍,或者存在与短期残疾、互联网连接速度缓慢甚至阳光照明有关的临时性限制,应该能够访问您的 Web 应用。构建 Web 应用的前端时,请从一开始就利用无障碍功能解决方案,以防止出现无障碍功能问题,并且以后在构建流程中无需重做任何工作。请确保网页抓取工具和屏幕阅读器可以浏览您的应用内容,同时为用户提供良好的用户体验。

在许多国家/地区和行业,无障碍功能是法律义务;您必须了解这些准则并将无障碍功能解决方案纳入前端设计中。各种业务案例也凸显了网络内容无障碍的重要性。

MDNWCAG 等资源提供了有关提高 Web 应用无障碍功能的基本准则和建议。您还可以在 web.dev 上学习学习无障碍功能课程。

不同组件之间的相互依赖性是确保各种用户都可以访问 Web 应用的一个重要方面。

颜色和对比度

颜色的使用是评估 Web 应用的无障碍功能的主要因素。前端用户必须能够感知页面上的内容,并且颜色和对比度必须显著影响用户对内容的印象。观看情况和视力相关障碍可能是暂时性、情境性或永久性的,但在构建 Web 应用的前端时必须考虑这一点。在面向用户的界面上使用的各种颜色之间建立合适的对比度或亮度差异,可以使您的 Web 应用更便于多元化的用户使用。对比度决定了背景和文本之间的亮度差异。

如需测量对比度,您可以使用对比度公式来确保背景上的文本或图标存在最低对比度。需要考虑多种形式的色彩感知障碍,但新的颜色模型可确保内容在灰度模式下也能正确感知。

通常建议使用深色主题来支持颜色和对比度,以便实现无障碍功能。由于白光和阅读困难,深色主题通常首选用于视觉输入。由于内容驱动型应用包含大量文本和图片,因此明智地使用颜色和对比度来满足用户的多样化需求至关重要。

详细了解 web.dev 上的颜色和对比度

排版

排版是指文本的选择和排列,使其对各种用户来说都清晰易读。更改最大的无障碍功能设置之一是设备上的默认字体大小。某些用户可能希望使用较小字体在屏幕上容纳更多文本,或尽可能增大文本大小,因此确保排版大小灵活且清晰易读,这一点非常重要。单个文本字符也应便于读者辨识,并且整体文本应易于阅读。在进行应用的前端设计时,请务必选择同时具有易读性和可读性的字体。

字体

您为 Web 应用选择的字体(即字体系列)应该让各种读者都能够直观地看到。字体是应用文本中所用字母的视觉设计。许多研究都描述了字体在评估 Web 内容可访问性时的重要性。能够在品牌、界面设计目标和便于阅读之间找到平衡,让更多用户畅享您的应用。构建前端时,请考虑字体选项及其中的字体选项如何影响应用的无障碍功能和整体设计。

字号

考虑允许浏览器缩放,以帮助弱视或色觉障碍用户对视力障碍感到失明。Web 应用中的文字字体必须对各种读者可见。从 px 切换到 rem 即可实现字体大小变化。Rem 单位支持相对于 Wep 应用的根元素设置字体大小。这是一个多功能选项,可以提高 Web 应用的整体无障碍功能。

结构和布局

各种结构和布局属性都会影响界面的无障碍功能。需要考虑的布局功能包括文本块间距和对齐方式,以及文本行甚至各个字母之间的间距。利用网格并直观呈现您想要添加到设计中的组件。内容的布局和结构应该引人入胜且能让用户感到愉悦。复杂的布局或包含多个文本块的杂乱背景对某些用户来说可能比较困难,例如患有 ADHD 用户的用户。请务必在前端设计过程中优先考虑包容性。

ARIA 和 HTML

无障碍丰富互联网应用 (ARIA) 包含一系列准则和属性,可帮助用户更轻松地使用 Web 应用。ARIA 是对 HTML 的补充,并支持可访问的 JavaScript widget、实时内容更新和错误消息等。正确使用 ARIA 对于真正让您的 Web 应用更便于访问至关重要。ARIA 使用不当可能会导致错误,实际上会降低应用的易用性。

尽可能使用 ARIA 标签来引入与盲文和文字转语音 (TTS) 兼容的替代格式。借助 ARIA 角色和标签,您可以在无障碍功能树与 dom 树不同时对其进行更改。在使用非标准代码(例如将 div 用作可点击按钮)时,这些标签也很重要。如果 HTML 元素不支持无障碍功能,则必须提供 ARIA。在设计内容驱动型应用时,请确保屏幕阅读器和其他辅助设备能够获得良好的支持,以便您的应用覆盖尽可能多的用户。

在 web.dev 上详细了解 ARIA 和 HTML

国际化

国际化是指设计一款 Web 应用,使其可供具有不同语言和文化背景的用户访问。您的 Web 应用应适应不同的语言、地理区域和文化偏好,而无需对代码进行大量更改。国际化的主要组成部分包括多语言支持、本地化、内容分离、日期和时间格式设置、文本方向和语言协商等等。

通过将 Web 应用国际化,您可以为广泛的全球受众打造包容性、人性化的体验。对于拥有不同用户群或目标国际扩张的任何 Web 应用,国际化都至关重要。

逻辑属性

在 CSS 中构建样式时,请务必使用 start / end,而不是 top / down/ left/ right 等属性。这样可以确保菜单和网站布局针对 RTL 语言相应地改变。

替代内容

在 HTML 标记中添加 lang 属性,并在标头中添加指向替代文档的链接,以便为您的内容提供自定义标记。这样一来,如果定义的语言与默认浏览器语言不同,浏览器就可以选择正确的页面。它可以帮助网络浏览器和搜索引擎理解网页的语言,这对于正确呈现内容和实现有效的搜索引擎优化 (SEO) 至关重要。

国际

JavaScript 中的 Intl 对象是创建多语言和文化感知型 Web 应用的重要工具。它在 Web 应用中提供国际化和本地化功能,确保您的界面和内容易于理解,并且符合全球各地用户的文化。Intl 对象提供的功能包括日期和时间格式、数字格式和字符串排序。

在 web.dev 上详细了解国际化

表单

HTML 表单是内容驱动型 Web 应用的关键组成部分。它们可实现用户互动,并提供用于收集用户信息的结构化方法。如果 HTML 表单没有可供广泛的受众群体使用,可能会导致用户感到失望和不满意。

若要使 HTML 表单可供访问,请为所有表单字段使用语义 HTML 元素。这有助于辅助技术了解每个字段的用途,并让用户更轻松地完成这些字段。此外,请务必明确标记所有表单字段。这有助于用户提供准确、有用的信息。此外,测试 HTML 表单的可访问性也很重要;为此,您可以使用辅助技术来模拟需要此类技术来浏览应用内容的用户的体验。

详细了解如何在 web.dev 上构建表单