详解Bootstrap的aria-label和aria-labelledby应用


Posted in Javascript onJanuary 04, 2016

aria-label

正常情况下,form表单的input组件都有对应的label.当input组件获取到焦点时,屏幕阅读器会读出相应的label里的文本。
如:

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset = "utf-8"> 
 <title>demo</title> 
 <link href="bootstrap-3.3.4-dist/css/bootstrap.min.css" rel="stylesheet"> 
 <style type="text/css"> 
  body{padding: 20px;} 
 </style> 
</head> 
<body> 
 <form role = "form"> 
  <div class="form-group col-lg-3 form-horizontal"> 
   <label for = "idCard" class="control-label col-lg-5">身份证号:</label> 
   <div class="col-lg-7"> 
    <input type = "text" id = "idCard" class="form-control"> 
   </div>   
  </div>  
 </form> 
</body> 
</html>

详解Bootstrap的aria-label和aria-labelledby应用

但是如果我们没有给输入框设置label时,当其获得焦点时,屏幕阅读器会读出aria-label属性的值,aria-label不会在视觉上呈现效果。
如:

<body> 
 <form role = "form"> 
  <div class="form-group col-lg-3 form-horizontal"> 
   <div class="col-lg-7"> 
    <input type = "text" id = "idCard" class="form-control" aria-label = "身份证号"> 
   </div>   
  </div>  
 </form> 
</body>

详解Bootstrap的aria-label和aria-labelledby应用

aria-labelledby属性

当想要的标签文本已在其他元素中存在时,可以使用aria-labelledby,并将其值为所有读取的元素的id。如下:
当ul获取到焦点时,屏幕阅读器是会读:“选择您的职位”

<body> 
 <div class="dropdown"> 
  <button type="button" class="btn dropdown-toggle" id="dropdownMenu1" 
   data-toggle="dropdown"> 
   选择您的职位 
   <span class="caret"></span> 
  </button> 
  <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"> 
   <li role="presentation"> 
    <a role="menuitem" tabindex="-1" href="#">测试工程师</a> 
   </li> 
   <li role="presentation"> 
    <a role="menuitem" tabindex="-1" href="#">开发工程师</a> 
   </li> 
   <li role="presentation"> 
    <a role="menuitem" tabindex="-1" href="#">销售工程师</a> 
   </li>   
  </ul> 
 </div> 
</body>

详解Bootstrap的aria-label和aria-labelledby应用

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

以上内容是小编给大家介绍的Bootstrap的aria-label和aria-labelledby应用相关内容,希望本文分享能够给大家带来帮助,同时感谢大家一直以来对三水点靠木网站的支持。

Javascript 相关文章推荐
删除重复数据的算法
Nov 23 Javascript
javascript firefox兼容ie的dom方法脚本
May 18 Javascript
Javascript之旅 对象的原型链之由来
Aug 25 Javascript
实用的Jquery选项卡TAB示例代码
Aug 28 Javascript
JavaScript返回网页中超链接数量的方法
Apr 03 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
浅析js中substring和substr的方法
Nov 09 Javascript
Bootstrap 组件之按钮(二)
May 11 Javascript
用angular实现多选按钮的全选与反选实例代码
May 23 Javascript
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
vue实现登录功能
Dec 31 Vue.js
详解Bootstrap glyphicons字体图标
Jan 04 #Javascript
详解Bootstrap按钮
Jan 04 #Javascript
详解Bootstrap四种图片样式
Jan 04 #Javascript
学习javascript面向对象 理解javascript原型和原型链
Jan 04 #Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 #Javascript
学习javascript面向对象 实例讲解面向对象选项卡
Jan 04 #Javascript
学习javascript面向对象 javascript实现继承的方式
Jan 04 #Javascript
You might like
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php获取操作系统语言代码
2013/11/04 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
js禁止表单重复提交
2017/08/29 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
python实现斐波那契递归函数的方法
2014/09/08 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
用友笔试题目
2016/10/25 面试题
母亲节演讲稿范文
2014/01/02 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
青年文明号汇报材料
2014/12/23 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
学校运动会加油词
2015/07/18 职场文书
新娘婚礼致辞
2015/07/27 职场文书
治理商业贿赂工作总结
2015/08/10 职场文书
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis