在实现表单时,我们往往会通过placeholder来提示当前表单项的填写内容。这样的设计会导致当input得到焦点时,placeholder自动消失,造成用户无法感知当前表单项的内容。我们可以使用label充当placeholder,这样的交互方式也称为Float Label Pattern
替代原生的表单元素。尽管这些表单组件在视觉和功能上满足了 UI 要求,但它们并未实现原生表单元素的无障碍功能。
(4) 为表单元素设置原生的校验属性
required、minlength、pattern等表单的原生校验属性,不但可以满足正常的表单校验需求,也具有更好的无障碍支持
规则 4:注意页面的焦点管理,允许用户仅通过键盘完成交互
很多行动不便的用户依赖键盘操作,靠 Tab 键和方向键等浏览网。因此我们在构建 Web 应用的时候要注意:
确保页面所有内容都可以通过键盘访问尽可能地提供键盘快捷键交互避免设计只在鼠标 hover 时才会被激活的元素
一些 HTML 的原生标签具备可聚焦属性,也被称为可聚焦元素。这些原生 HTML 元素,天然存在于页面 Tab 键顺序内,内置了键盘事件处理,可以通过 Tab 键聚焦,并且获得焦点时有可见的焦点指示器(往往是显眼的蓝色框框)。但对于无法聚焦的元素,我们可以设置元素的tabindexlace属性,使元素可聚焦。
如果想给当前元素生成快捷键的话,可以给元素设置accesskey属性。但使用accesskey也需注意以下问题:
accesskey值可能与系统或浏览器快捷键或辅助技术功能相冲突当考虑页面国际化时,某些accesskey值可能不会出现在一些键盘上依赖于数值的accesskey可能会让具有认知障碍的用户感到困惑,因为数值和触发的功能并没有逻辑联系如果没有告知用户快捷键的存在,那么可以会造成用户误触
相关浏览器插件:
taba11y - Chrome Web StoreNerdeFocus - Chrome Web Store规则 5:定义文档的语言类型
在标签元素上设置正确的lang属性。如果你的页面没有显式设置当前页面所使用的语言,那么读屏软件将无法选择匹配的语音配置文件和字符集,读屏软件读出的页面内容是乱码。所以,为了确保页面的内容正确,请务必为元素指定有效的BCP 47语言。
规则 6:为
添加alt属性,明确链接和按钮的信息
往往一张表情包图片就可以抵千言万语,但对于读屏软件来说,读取 标签的有效信息,只能靠alt属性。所以不要忘记为 标签添加描述性的alt属性。如果图片只是为了装饰效果,那么可以考虑将 标签 替换为 CSS 背景图。
与 标签类似,读屏软件对于和标签的信息获取,依赖于标签包裹的文本。使用”阅读更多“,甚至图片作为这类标签的包裹内容,并不能为用户提供足够的信息。如果不方便添加文本信息,也可以利用aria-label增强元素的语义信息:
More...
使用前端框架需要考虑的 Web Accessibility
根据 2022 年 The WebAIM Million 统计报告,使用 JavaScript 框架的页面比不使用框架的页面存在更多的无障碍错误,其中 React 开发的页面平均存在 50.8 个错误,Vue 开发的页面存在 63.4 个错误。虽然统计结果不能说明框架导致了这些错误,但在使用框架进行 Web 开发时,常常会忽略使用 HTML 原生标签,或者引入无障碍功能支持性不佳的组件库,导致框架开发的 Web 应用可访问性普遍较差。
提升前端框架的无障碍支持性规则 1:使用语义化 HTML 标签,完善 HTML 标签的属性规则 2:在设计组件时考虑整体的 HTML 结构
维护层级明晰的 HTML 结构,对于 Web 应用的无障碍功能十分重要。因为 ATs 软件,特别是读屏软件,不止是由上至下地展现页面信息,更会基于页面不同级别的标题或者文档地标元素进行页面导航。在将页面拆分成不同组件后,保持 HTML 文档结构层级会更加复杂。比如当一个组件包含
标签时,可能在一些位置该组件会破坏原有 HTML 文档结构。规则 3:避免使用无意义的 HTML 标签 在使用 React、Vue 等框架时,我们往往需要将组件包裹在一个根元素中:
但这样的处理在编译后,会在造成元素结构的混乱:
标签混在
标签中,会导致读屏软件无法正确解析table,造成用户无法访问表格内容。此时,我们应该使用 React 的标签(Vue 中可以使用 vue-fragment),确保根元素不存在于最终的 DOM 结构内:
推荐内容
最近更新
2023-05-16 10:42:37
热门
2023-05-16 10:06:12
热门
2023-05-16 09:33:28
热门
2023-05-16 08:53:24
热门
2023-05-16 08:46:43
热门
2023-05-16 08:08:58
热门
2023-05-16 07:04:17
热门
2023-05-16 06:07:36
热门
2023-05-16 05:04:32
热门
2023-05-16 02:01:42
热门
2023-05-15 23:39:53
热门
2023-05-15 22:03:59
热门
2023-05-15 21:26:19
热门
2023-05-15 20:37:56
热门
2023-05-15 20:06:46
热门
2023-05-15 19:00:45
热门
2023-05-15 18:19:01
热门
2023-05-15 18:10:30
热门
2023-05-15 17:17:40
热门
2023-05-15 16:50:06
热门
2023-05-15 16:21:57
热门
2023-05-15 16:08:13
热门
2023-05-15 15:07:32
热门
2023-05-15 14:50:31
热门
2023-05-15 14:14:06
热门
2023-05-15 13:24:59
热门
2023-05-15 12:44:19
热门
2023-05-15 12:14:25
热门
2023-05-15 11:28:24
热门
2023-05-15 10:51:29
热门
2023-05-15 10:27:11
热门
2023-05-15 10:11:59
热门
2023-05-15 09:55:00
热门
2023-05-15 09:14:32
热门
2023-05-15 08:44:09
热门
2023-05-15 07:53:34
热门
2023-05-15 06:42:44
热门
2023-05-15 05:40:37
热门
2023-05-15 02:44:44
热门
2023-05-15 00:44:41
热门
2023-05-14 22:10:45
热门
2023-05-14 20:56:02
热门
2023-05-14 19:40:54
热门
2023-05-14 18:54:57
热门
2023-05-14 17:42:58
热门
2023-05-14 16:55:26
热门
2023-05-14 15:52:58
热门
2023-05-14 14:13:04
热门
2023-05-14 13:59:52
热门
2023-05-14 12:49:45
热门
2023-05-14 11:23:03
热门
2023-05-14 10:44:24
热门
2023-05-14 09:39:21
热门
2023-05-14 08:49:17
热门
2023-05-14 07:43:54
热门
2023-05-14 06:16:12
热门
2023-05-14 04:10:45
热门
2023-05-14 00:53:36
热门
2023-05-13 22:57:39
热门
2023-05-13 21:04:05
热门
2023-05-13 20:07:01
热门
2023-05-13 19:34:09
热门
2023-05-13 18:08:15
热门
2023-05-13 17:19:50
热门
2023-05-13 16:16:55
热门
2023-05-13 15:09:06
热门
2023-05-13 14:11:48
热门
2023-05-13 13:14:10
热门
2023-05-13 11:57:22
热门
2023-05-13 11:38:20
热门
2023-05-13 10:57:12
热门
2023-05-13 09:55:34
热门
2023-05-13 08:57:30
热门
2023-05-13 08:04:21
热门
2023-05-13 07:19:41
热门
2023-05-13 06:51:03
热门
2023-05-13 05:52:30
热门
2023-05-13 04:04:06
热门
2023-05-13 01:06:26
热门
2023-05-12 23:00:56
热门
2023-05-12 21:54:45
热门
2023-05-12 20:58:29
热门
2023-05-12 20:37:51
热门
2023-05-12 19:59:37
热门
2023-05-12 19:26:29
热门
2023-05-12 18:46:14
热门
2023-05-12 18:22:45
热门
2023-05-12 17:48:05
热门
2023-05-12 17:39:16
热门
2023-05-12 17:12:13
热门
2023-05-12 16:51:12
热门
2023-05-12 16:25:28
热门
2023-05-12 15:51:59
热门
2023-05-11 22:34:28
热门
2023-05-11 19:10:50
热门
2023-05-11 17:50:56
热门
2023-05-11 17:33:49
热门
2023-05-11 16:44:24
热门
2023-05-11 16:31:01
热门
2023-05-11 16:02:15
热门