HTML5中的aria与role

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

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

aria-labelledby
当想要的标签文本已在其他元素中存在时,可以将其值为该元素的id。
<div role="form" aria-labelledby="form-title">
<span id="form-title">使用手机号码注册</span>
<form>……</form>
</div>

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

如果一个元素同时有aria-labelledby和aria-label,读屏软件会优先读出aria-labelledby的内容。
  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值