课程章节介绍
大家好,欢迎来到我们的Lightning Web Components课程。这节课我们来聊聊第二组ARIA属性,这些属性覆盖了很多无障碍场景,能够让我们的组件对各种辅助技术更友好。
首先啊,ariaHasPopup,它的意思是告诉屏幕阅读器:“嘿,这个元素会弹出一个菜单或者对话框”。比如一个按钮点了会出下拉菜单,我们就可以用这个属性标记它,让用户提前知道。
下一个是ariaHidden,这个挺重要的。它可以控制元素对辅助技术是不是可见,而不管它视觉上是不是显示。也就是说,你可能屏幕上看着有东西,但把它设为hidden,屏幕阅读器就跳过去了。反过来也行,视觉上隐藏但让辅助技术能读到。
然后有aria-invalid,专门用在表单输入上。当用户填错了格式或者验证没通过,我们就给输入框加上这个属性,告诉辅助技术:“这个字段目前有错误”。这样视障用户也能立刻知道哪里需要改正。
ariaLive是个很有趣的属性。它用来管理“直播区域”,就是动态更新的内容怎么被朗读出来。有两个主要模式,一个叫“polite”(礼貌),它会在当前朗读任务结束后再宣布更新;另一个叫“assertive”(自信),会打断当前朗读,立刻宣布。比如聊天消息,你可能希望用polite,不打扰用户;但紧急提醒可能要用assertive。
ariaModal表示一个对话框是不是模态的。模态对话框就是那种打开后,后面的内容不能操作,只能先处理对话框。这个属性帮助辅助技术理解当前焦点的上下文。
接下来是一组表行相关的属性,ariaRow* 系列。这些提供了表行的索引、行数,以及行头等信息,让表格导航更精准。
然后针对范围小部件,比如滑块,我们有ariaValueNow(当前值)、ariaValueMin(最小值)和ariaValueMax(最大值)。屏幕阅读器会告诉用户当前的数值范围,这样调整滑块就变得无障碍了。
ariaPressed专门给切换按钮用的,比如加粗、斜体按钮,按下去是“开”,弹起来是“关”。这个属性就能表达按钮是被按下去了还是没按。
ariaSort指示表格列的排序状态,升序、降序还是无排序。这样用户能理解数据是怎么排列的。
两个比较新的属性,ariaBrailleLabel和ariaBrailleRoleDetails,它们是专门给盲文显示器提供额外信息的。可能普通屏幕阅读器用不到,但盲文设备能展示更细致的标签和角色描述,非常贴心。
最后提醒一下,如果你用的是Lightning Web Components的开源版本,也就是LWC OSS v4.0.0及以后,上面这些属性里面有些已经不再是全局Polyfills了。这意味着如果你不主动引入,它们可能不会自动生效。所以一定要去查看官方的弃用文档,看看哪些需要额外配置,免得无障碍支持出问题。
好了,这一组属性大家先有个整体印象。下节课我们会详细看怎么在组件里使用它们。我们下次见!
关键词
LWC
Lightning Web Components
Salesforce