重学前端
程劭非(winter)
前手机淘宝前端负责人
105348 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 57 讲
开篇词+学习路线+架构图 (3讲)
重学前端
15
15
1.0x
00:00/00:00
登录|注册

HTML·ARIA:可访问性是只给盲人用的特性么?

landmark角色
tree
radiogroup
menu
listbox
tablist
grid
combobox
switch
button
checkbox
树形继承关系
window角色
structure角色
widget角色
role
继承关系可视化
组件库参考
JavaScript组件状态
属性
Accessible Rich Internet Applications
友好性
视觉障碍用户
ARIA
可访问性
HTML·ARIA

该思维导图由 AI 生成,仅供参考

你好,我是 winter。
我们都知道,HTML 已经是一个完整的语义系统。在前面的课程中,我们围绕着 HTML 本身做了讲解,但是在实际应用中,我们还会用到一些它的扩展。今天我们要讲的 ARIA 就是其中重要的一部分。
ARIA 全称为 Accessible Rich Internet Applications,它表现为一组属性,是用于可访问性的一份标准。关于可访问性,它被提到最多的,就是它可以为视觉障碍用户服务,但是,这是一个误解。
实际上,可访问性其实是一个相当大的课题,它的定义包含了各种设备访问、各种环境、各种人群访问的友好性。不单单是永久性的残障人士需要用到可访问性,健康的人也可能在特定时刻处于需要可访问性的环境。
我们今天讲的 ARIA,是以交互形式来标注各种元素的一类属性,所以,在 ARIA 属性中,你可以看到很多熟悉的面孔,交互形式往往跟我们直觉中的“控件”非常相似。
所以我们的课程,特意把 ARIA 加入还有一个原因:ARIA 的角色对于我们 UI 系统的设计有重要的参考意义。

综述

我们先整体来看看,ARIA 给 HTML 元素添加的一个核心属性就是 role,我们来看一个例子:
<span role="checkbox" aria-checked="false" tabindex="0" aria-labelledby="chk1-label">
</span> <label id="chk1-label">Remember my preferences</label>
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

ARIA是Accessible Rich Internet Applications的缩写,是一组属性,用于提高网页可访问性。虽然通常被误解为只为视障用户设计,但实际上可访问性覆盖了各种设备、环境和人群的友好性。ARIA通过role属性为HTML元素添加语义化,例如,通过role="checkbox"表示一个span元素被用作复选框。此外,ARIA还提供了一系列属性,如aria-checked和aria-labelledby,用于描述组件状态和关联文本。ARIA角色分为Widget角色(可交互控件)、结构角色(文档结构)和窗体角色(弹出窗体)。Widget角色包括各种交互组件,如按钮、滑块等,而结构角色类似于HTML5的语义化标签,如heading、separator等。窗体角色则用于表示新窗口、对话框等。ARIA属性需要在JavaScript中维护,对于组件库的实现者来说,ARIA提供了重要的参考。文章还提到了一些复杂角色,如combobox、grid、tablist等,它们需要多个角色配合使用。最后,文章提出了一个课后问题,要求使用支持图结构可视化的JS库展示ARIA的继承关系。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《重学前端》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 王小贱
    几年前有改造过无障碍网站....真滴是枯燥,不过不改的话在美国会被投诉下架
    2019-11-05
    20
  • Yully
    看完了这篇文章,恍然大悟,原来公司大佬写的ui组件库里的那些看上去乱七八糟的东西是这个…大佬之前写的代码规规整整,尤其是ARIA这一块写的超级有条理,希望以后我再封装的时候也能用上ARIA
    2020-06-03
    1
    9
  • Artyhacker
    感觉ARIA应该算一份前端UI组件库的实现标准吧,实际项目中除了一些简单的网页以外,大都直接用组件库了。以前专门学习了mdn里可访问性相关的文档,但实际项目还是从来没用到过,可能也和项目并非面向大众有关吧。。感觉很多东西你知道它好,也花时间学习了,但是实际项目就是不会去用。。
    2019-05-07
    9
  • 亮亮
    可访问性在开发中还是用的比较少,项目没要求,开发时间紧,没咋注重过!
    2019-05-07
    6
  • Apep
    最近react项目有这个需求 头痛
    2019-05-09
    1
  • cjd
    沙发
    2019-05-07
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部