HTML5中的aria与role

这些都是HTML5针对html tag增加的属性,一般是为不方便的人士提供的功能,比如屏幕阅读器。
role的作用是描述一个非标准的tag的实际作用。比如用div做button,那么设置div 的 role="button",辅助工具就可以认出这实际上是个button。
aria的意思是Accessible Rich Internet Application,aria-*的作用就是描述这个tag在可视化的情境中的具体信息。比如:
辅助工具就会知道,这个div实际上是个checkbox的角色,为选中状态。

aria-label
正常情况下,会在表单里给input组件指定对应的label,当用户tab到输入框时,读屏软件就会读出相应label里的文本。
当没有给输入框设计对应的label文本的位置时,aria-label属性为组件指定内置的文本标签。它不在视觉上呈现。
此时,当焦点落到该输入框时,读屏软件就会读出aria-label里的内容,即"用户名"。
aria-label只有加在可被tab到的元素上,读屏才会读出其中的内容。以下情况,也是可以读出的:
可被tab的span标签

aria-labelledby
当想要的标签文本已在其他元素中存在时,可以将其值为该元素的id。
使用手机号码注册
……

表单区添加了role="form",当跳转到该区域时,不仅会读出"表单区",也会读出"使用手机号码注册"。

如果一个元素同时有aria-labelledby和aria-label,读屏软件会优先读出aria-labelledby的内容。

你可能感兴趣的:(html5,aria,role,bootstrap)