博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
aria-hidden读屏
阅读量:6320 次
发布时间:2019-06-22

本文共 1140 字,大约阅读时间需要 3 分钟。

图标的可访问性

现代的辅助技术能够识别并朗读由 CSS 生成的内容和特定的 Unicode 字符。为了避免 屏幕识读设备抓取非故意的和可能产生混淆的输出内容(尤其是当图标纯粹作为装饰用途时),我们为这些图标设置了 aria-hidden="true" 属性。
如果你使用图标是为了表达某些含义(不仅仅是为了装饰用),请确保你所要表达的意思能够通过被辅助设备识别,例如,包含额外的内容并通过 .sr-only 类让其在视觉上表现出隐藏的效果。
如果你所创建的组件不包含任何文本内容(例如, <button> 内只包含了一个图标),你应当提供其他的内容来表示这个控件的意图,这样就能让使用辅助设备的用户知道其作用了。这种情况下,你可以为控件添加 aria-label 属相。

aria-label及aria-labelledby应用

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>
表单区添加了landmark标识role=”form”,在争渡中使用字母”D“键会在lankmark标识之间跳转。
当跳转到该区域时,不仅会读出”表单区“,也会读出”使用手机号码注册“。
如果一个元素同时有aria-labelledby和aria-label,读屏软件会优先读出aria-labelledby的内容。

转载于:https://www.cnblogs.com/pzx-java/p/7284423.html

你可能感兴趣的文章
SourceTree - 正在检查源... When cloning a repository, "Checking Source" spins forever
查看>>
Swift 使用Extension 场景 浅析
查看>>
绕过图片格式限制上传木马获取WebShell
查看>>
基于android studio的快捷开发(将持续更新)
查看>>
json序列化时datetime的处理方法
查看>>
Mesos源码分析(1): Mesos的启动过程总论
查看>>
iOS开发UI篇—常见的项目文件介绍
查看>>
python2.0_day21_web聊天室一
查看>>
MySQL server has gone away 问题的解决方法
查看>>
使用BeanUtils设置属性转换String到Date类型
查看>>
C# DateTime和String转换
查看>>
js判断函数是否存在、判断是否为函数
查看>>
动态sql
查看>>
UVA 10564 Paths through the Hourglass[DP 打印]
查看>>
洛谷P1119 灾后重建[Floyd]
查看>>
将图片二进制流上传到服务器
查看>>
Struts2标签
查看>>
Linux命令 -- 查看系统版本的各种方法
查看>>
appium日志示例解读
查看>>
【转】Spark:Master High Availability(HA)高可用配置的2种实现
查看>>