重学前端 43 # HTML的可访问性ARIA

简介: 重学前端 43 # HTML的可访问性ARIA

一、介绍


ARIA 全称为 Accessible Rich Internet Applications,它表现为一组属性,是用于可访问性的一份标准。



二、综述


2.1、添加role属性

ARIA 给 HTML 元素添加的一个核心属性就是 role

<span role="checkbox" aria-checked="false" tabindex="0" aria-labelledby="chk1-label">
</span> <label id="chk1-label">Remember my preferences</label>

上面代码给 span 添加了 checkbox 角色,表示这个 span被用于 checkbox,并且以 checkbox的交互方式来处理用户操作。



2.2、role属性的定义


role 的定义是一个树形的继承关系。

整体结构:

aHR0cHM6Ly9zdGF0aWMwMDEuZ2Vla2Jhbmcub3JnL3Jlc291cmNlL2ltYWdlL2FlLzY5L2FlY2NmNjQ4NzFiMzA5NzM1MDU0OTEyZmJiYjE4YTY5LmpwZw.jpg

其中,widget 表示一些可交互的组件,structure 表示文档中的结构,window 则代表窗体。



三、Widget 角色


这一类角色表示一个可交互的组件:

aHR0cHM6Ly9zdGF0aWMwMDEuZ2Vla2Jhbmcub3JnL3Jlc291cmNlL2ltYWdlLzEwL2RkLzEwZWE5ZWI2MmQ2MGZiNGJmYjE4YzI3ZGE1MDgzNmRkLmpwZw.jpg

按照继承关系展示列表和简要说明:

aHR0cHM6Ly9zdGF0aWMwMDEuZ2Vla2Jhbmcub3JnL3Jlc291cmNlL2ltYWdlLzAzL2YxLzAzOGUxMTUyYzliZGRjN2VkODY0ZDI3MTY5MWQxN2YxLmpwZWc.jpg

这些 widget 同时还会带来对应的 ARIA 属性,例如下面的两个


1、Checkbox 角色,会带来两个属性:


   aria-checked 表示复选框是否已经被选中;

   aria-labelledby 表示复选框对应的文字。


2、Button 角色,会带来两个属性:


   aria-pressed 按钮是否已经被按下;

   aria-expanded 按钮控制的目标是否已经被展开。


更多参考网站:https://www.w3.org/TR/wai-aria/


一些复杂的角色


1、Combobox是一个带选项的输入框,常见的搜索引擎,一般都会提供这样的输入框,当输入时,它会提供若干提示选项。


2、Grid 是一个表格,它会分成行、列,行列又有行头和列头表示行、列的意义。


3、Tablist 是一个可切换的结构,一般被称为选项卡,它包含了 tab 头和 tabpanel,在 tab 容器中,可能包含各种组件。


4、Listbox 是一个可选中的列表,它内部具有角色为 Option 的选项。


5、Menu 是指菜单,菜单中可以加入嵌套的菜单项(Menuitem 角色),除了普通菜单项,还可以有 Menuitemcheckbox 带复选框的菜单栏和 Menuitemradio 带单选框的菜单栏。


6、Radiogroup 是一组互斥的单选框的容器,它的内部可以由若干个角色为 radio 的单选框。


7、Tree 是树形控件,它的内部含有 Treeitem 树形控件项,它还有一种升级形式是 Treegrid。



四、structure 角色


这部分角色的作用类似于语义化标签,但是内容稍微有些不同。

aHR0cHM6Ly9zdGF0aWMwMDEuZ2Vla2Jhbmcub3JnL3Jlc291cmNlL2ltYWdlL2IyLzdhL2IyMWE4MmZkNjhhODg1Zjc1MTEyM2Y0OGE3ZTI2YjdhLmpwZw.jpg


五、window 角色


在网页中,有些元素表示“新窗口”,这时候,会用到 window 角色。window 系角色非常少,只有三个角色:


  • window
  • dialog
  • alertdialog







目录
相关文章
|
1月前
|
XML 前端开发 JavaScript
前端开发进阶:从HTML到React.js
【10月更文挑战第9天】前端开发进阶:从HTML到React.js
|
2月前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
39 1
前端基础(十七)_HTML5新特性
|
1月前
|
前端开发 JavaScript 数据安全/隐私保护
【前端基础篇】HTML零基础速通2
【前端基础篇】HTML零基础速通
18 2
|
1月前
|
Web App开发 移动开发 前端开发
【前端基础篇】HTML零基础速通1
【前端基础篇】HTML零基础速通
28 1
|
2月前
|
前端开发
前端基础(二)_HTML常用标签(块级标签、行级标签、行块级标签)
本文详细介绍了HTML中的常用标签,包括块级标签(如`h1`至`h6`、`p`、`div`等)、行级标签(如`span`、`b`、`strong`、`i`、`em`、`sub`、`sup`、`del`、`a`等),以及行块级标签(如`img`)。文章解释了这些标签的用途、特点和基本用法,并通过示例代码展示了如何在HTML文档中使用它们。
112 1
|
2月前
|
前端开发 程序员
【前端web入门第二天】01 html语法实现列表与表格_合并单元格
本文介绍了HTML中的列表与表格的使用方法。列表包括无序列表(`&lt;ul&gt;`嵌套`&lt;li&gt;`)、有序列表(`&lt;ol&gt;`嵌套`&lt;li&gt;`)和定义列表(`&lt;dl&gt;`嵌套`&lt;dt&gt;`和`&lt;dd&gt;`)。
60 19
|
2月前
|
前端开发 Windows
【前端web入门第一天】02 HTML图片标签 超链接标签 音频标签 视频标签
本文档详细介绍了HTML中的图片、超链接、音频和视频标签的使用方法。首先讲解了`&lt;img&gt;`标签的基本用法及其属性,包括如何使用相对路径和绝对路径。接着介绍了`&lt;a&gt;`标签,用于创建超链接,并展示了如何设置目标页面打开方式。最后,文档还涵盖了如何在网页中嵌入音频和视频文件,包括简化写法及常用属性。
50 13
|
2月前
|
前端开发 程序员 C++
【前端web入门第一天】01 开发环境、HTML基本语法文本标签
本文档详细介绍了HTML文本标签的基础知识。首先指导如何准备开发环境,包括安装VSCode及常用插件;接着全面解析HTML的基本结构与标签语法,涵盖从基本骨架搭建到注释的使用,以及标题、段落、换行和平行线、文本格式化等标签的具体应用,适合初学者循序渐进地掌握HTML。
|
2月前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
89 0
|
3月前
|
存储 移动开发 前端开发
HTML5时代来临,这些新特性你掌握了吗?一篇文章带你玩转Web前端技术潮流!
【8月更文挑战第26天】HTML5(简称H5)作为新一代Web标准,相比HTML4带来了诸多增强功能。
57 2