无障碍性 Web 设计的 10 个常见错误及如何修复它们

随着互联网越来越普及,无障碍性 Web 设计也越来越受到关注。无障碍性 Web 设计指的是尽可能地让所有人都能够访问和使用网站,包括视力障碍、听力障碍、语言障碍、认知障碍等等。下面是无障碍性 Web 设计中常见的 10 个错误及如何修复它们。

1. 不良的颜色选取

颜色对于不同的人来说有着不同的含义,因此应该妥善地选择颜色。遵守 WCAG 标准,应该使用高对比度的颜色,以让页面易于阅读和易于浏览。另外,为了更好地让页面可访问,应该使用 Web 安全颜色而非自定义颜色。

示例代码

---- -
  ----------------- -----
  ------ -----
-

2. 大量的动画

动画虽然可以增强网站的美观度,但是对于患有注意力障碍或者视力障碍的人来说可能造成困扰和干扰。因此,在设计动画方面需要慎重考虑,最好遵从 WCAG 标准,并提供适当的设置选项供用户自行关闭动画。

示例代码

---------- -
  ---------- ---- -- ------ ---------
-

---------- ---- -
  --   - -------- -- -
  ---  - -------- ---- -
  ---- - -------- -- -
-

3. 错误的 HTML 结构

正确的 HTML 结构可以帮助屏幕阅读器读取你的网站并更好地为用户提供信息。例如,使用无序列表来显示相关链接或使用标题标签以增加页面结构。同时正确的 HTML 标记还可以帮助跨浏览器和跨设备的兼容性。

示例代码

----
  ------ --------------------------
  ------ -------------- -----------
  ------ -------------------------
-----

-------- ----------
--------- -------
------- ---------

4. 不合适的图片描述

对于患有视力障碍的人来说,能否正常理解图片是至关重要的。因此,应该给每个图像添加一个清晰而简短的描述文字来阐明图片的含义。此外,当图片被格式化时,应该遵循 WCAG 标准来为其定义正确的高度和宽度。

示例代码

---- --------------- ------ ------ ------- -- - ---- ------- -- - --------- ----------- -------------

5. 不良的表单设计

对于视力障碍的人来说,无障碍性表单的设计可能会有所不同。例如,需要在文本标签前放置有意义的文本以提供表单字段的信息。在使用下拉框和单选框时,也需要保证可访问性。

示例代码

------
  ------ ------------------------
  ------ ----------- --------- ----------------
  
  ------ ----------------------------
  ------- ----------- --------------
    ------- --------------------------
    ------- ------------------------------
  -------------
  
  --------------- ------------------
  ------ ------------ -------- ------------ ------------
  ------ -------------------------
  ------ ------------ --------- ------------ -------------
  ------ ---------------------------
-------

6. 无法放大

放大页面对于患有视力障碍的人来说非常重要,因此应该确保页面设置支持放大。最好遵从 WCAG 标准,并提供适当的放大并激活选项,以便用户根据其视力选择适合的大小。

示例代码

---- -
  ---------- -----
-

------ ---- ------ --- ----------- ------ -
  ---- -
    ---------- -----
  -
-

7. 不良的链接标记

在网站中,链接标记是非常重要的,因为它为用户提供了浏览的方式。为拟装链接时,应该遵循 WCAG 标准,以增加用户体验,并使访问无障碍。

示例代码

-- -------- ---------------- -- ------------------

8. 无法禁用无序音频

无序音频可能会对一些听力障碍的用户造成不便。因此,应该在播放音频时遵循 WCAG 标准,并在网页上提供音频停止和暂停的选项。

示例代码

------ ---------
  ------- --------------- ------------------
  ---- ------- ---- --- ------- --- ----- --------
--------

9. 无法禁用自动播放视频

类似于无序音频,自动播放视频可能会干扰到一些听力障碍的用户。应该在视频播放时遵循 WCAG 标准,并在网页上提供视频停止和暂停的选项。

示例代码

------ ---------
  ------- --------------- -----------------
  ---- ------- ---- --- ------- --- ----- ----
--------

10. 不良的键盘导航

键盘提供一种无鼠标的导航方式。因此,在设计时需要确保键盘导航的可用性。遵循 WCAG 标准,并确保网站可以通过键盘来浏览和使用。

示例代码

------- ---------------------------- -----------

--------
-------- ------------ -
  ------------ ---------
-
---------

总结

以上是无障碍性 Web 设计中常见的 10 个错误及如何修复它们,它们可以帮助我们更好地了解如何让我们的网站更加无障碍。无障碍性 Web 设计不仅可以帮助视力障碍等人群使用,还可以提高整体的用户体验,从而对网站的流量和受众产生积极的影响。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64e6f446f6b2d6eab3249f9f


猜你喜欢

  • CSS Flexbox 布局中的 “align-self” 属性详解

    在使用 CSS Flexbox 进行页面布局时,“align-self” 属性是非常有用的一个属性,它可以用于设置某个单独的 flex 子项在交叉轴上的对齐方式。本文将对 “align-self” 属...

    1 年前
  • Deno 中如何使用 WebSocket 实现多人聊天室

    什么是 Deno Deno 是一种基于 V8 引擎的 TypeScript 运行时。它的目标是成为一个安全的脚本运行时环境,同时原生支持 TypeScript,同时也支持直接运行 JavaScript...

    1 年前
  • 实现 JavaScript 真正的 OOP——探寻 ECMAScript 2021 (ES12) 中的 private 属性

    JavaScript 一直被认为是一门弱类型语言,缺少了传统程序语言中的 OOP(面向对象编程)特性,这也导致了在编写大型应用程序时,往往需要考虑到对象的可变性问题,难以保证程序的安全性和数据的完整性...

    1 年前
  • 自定义元素内被隐藏的 DOM 节点如何选择?

    当我们使用自定义元素创建 Web 组件时,有时可能需要对内部 DOM 节点进行操作,但是这些节点可能被隐藏起来了。本文将介绍如何选择自定义元素内被隐藏的 DOM 节点,并提供相关示例代码。

    1 年前
  • 学习使用 Express.js 构建 RESTful API

    Express.js 是一种流行的 web 应用程序框架,它使得构建 web 应用变得更加容易和快捷。在 web 应用开发中,RESTful API 是一个基本概念,因此学会如何使用 Express....

    1 年前
  • 使用 Babel 编译 ES6 代码时如何支持 Tree-shaking

    随着 Web 技术的发展,越来越多的前端开发者开始使用 ES6(ECMAScript 2015)作为主要的开发语言。ES6 带来了许多新的特性,包括箭头函数、模板字符串、解构赋值、类等等。

    1 年前
  • Material Design下RecycleView实现分组效果详解

    在移动端应用程序中,列表属于最基本且重要的元素之一。通常会使用RecycleView控件来实现列表的展示,而且RecycleView并不仅仅是一个简单的列表框架,它还提供了许多令人惊喜的特性,例如增加...

    1 年前
  • ECMAScript 2018 中的迭代器与生成器:如何正确使用

    在ECMAScript 2018标准中,迭代器和生成器是JavaScript编程语言的两种强大的特性。以前的JavaScript版本中,我们需要手动编写代码来迭代数组或对象。

    1 年前
  • Webpack 实践:实现多页应用自动化打包

    随着 Web 应用的复杂性不断增加,多页应用(MPA)已经成为了许多项目的首选模式。不同于单页应用(SPA),MPA 需要将页面划分为多个不同的 HTML 文件,并且需要在每个页面中引入不同的 JS ...

    1 年前
  • ESLint:如何规避不规范的 import 导入?

    在前端开发中,import 是一个非常重要的关键字,它可以将其他模块导入到当前模块中。在使用 import 语句导入模块时,我们通常都需要遵循一些规范,避免出现一些常见的问题,如循环依赖、重复导入等问...

    1 年前
  • Next.js 中如何优雅地处理错误异常

    在 Next.js 的开发过程中,错误和异常处理是一个非常重要的问题。一个好的错误处理方案可以帮助我们迅速定位和解决问题,提高我们的网站的稳定性和可靠性。本文将介绍 Next.js 中如何优雅地处理错...

    1 年前
  • TypeScript 中如何处理 “Cannot read property of undefined” 错误

    在 TypeScript 中,当我们访问一个未定义的属性或方法时,常常会遇到 “Cannot read property of undefined” 错误,尤其是在处理异步或可选参数时更为常见。

    1 年前
  • 掌握 ES6 的类和继承,提高编程效率

    在前端开发中,我们经常使用 JavaScript 进行编程。在不断的发展中,现代化的 JavaScript 标准 ES6 带来了很多新的语法和特性,并且也为我们的编程工作提供了更多便利和效率。

    1 年前
  • Mongoose 实现分页查询的方法

    前言 Mongoose 是 Node.js 中操作 MongoDB 数据库的工具,具有良好的用户体验和易用性。在实际应用中,经常需要对 MongoDB 数据库进行分页查询,以满足业务需求。

    1 年前
  • CSS Grid: “子网格”布局

    在前端页面布局中,网格布局(Grid Layout)已经成为了不可或缺的一部分。而在 CSS Grid 中,除了网格布局的基本概念之外,还有一个非常有用的概念,那就是“子网格”(Subgrid),它可...

    1 年前
  • 从 SASS 到 LESS:选择哪种 CSS 预处理器更好?

    从 SASS 到 LESS:选择哪种 CSS 预处理器更好? CSS 预处理器是一种可以让开发人员更有效、更方便地编写网页样式的工具。其中,最常见的两种 CSS 预处理器是 SASS 和 LESS。

    1 年前
  • 基于 Socket.io 和 HTML5 的音乐播放器实战

    在今天的 Web 开发中,音乐播放器是一个非常常见的功能。而随着 Web 技术的不断发展,我们已经能够使用 HTML5 的音频 API 来创建一个简单的音乐播放器。

    1 年前
  • ECMAScript 2016 中 String.prototype 方法扩展的新特性

    String对象是JavaScript中一个非常重要的类型,而针对String的方法也是非常多的。在ECMAScript 2016中,String对象的方法也得到了扩展,新的方法提供了更多的方便和实用...

    1 年前
  • 使用 GraphQL 和 Mongoose 连接 MongoDB

    在前端开发中,我们经常需要与后端数据库进行交互,其中最常见的数据库之一就是 MongoDB。然而,传统的 RESTful API 已经无法满足现代应用程序的需求,因为它们有时过于死板且难以扩展。

    1 年前
  • Java 性能优化:从 JVM 参数到 GC 算法

    Java 是一种高级编程语言,能够帮助开发者快速开发高效、高质量的程序。然而,这种语言的高效性需要依赖于一个性能优秀的 JVM(Java Virtual Machine)。

    1 年前

相关推荐

    暂无文章