bootstrap3中.sr-only, aria-hidden

本文介绍了在网页设计中如何利用.sr-only类和aria-hidden属性增强网站的无障碍性,确保使用辅助技术如屏幕阅读器的用户能更好地理解页面内容。

1.  .sr-only

        在bootstrap3文档中写道:

向使用辅助技术的用户传达用意

通过为表格中的一行或一个单元格添加颜色而赋予不同的意义只是提供了一种视觉上的表现,并不能为使用辅助技术 -- 例如屏幕阅读器 -- 浏览网页的用户提供更多信息。因此,请确保通过颜色而赋予的不同意义可以通过内容本身来表达(即在相应行或单元格中的可见的文本内容);或者通过包含额外的方式 -- 例如应用了 .sr-only 类而隐藏的文本 -- 来表达出来。

        这里提到.sr-only这个class,但是在一些使用到这个class的地方却没有显示内容。查了一下,sr-only表示screen reader only。搜嘎,文档中也提到这个是为了提供给屏幕阅读器的信息,屏幕阅读器需要找到能够辨识的文本然后读出来嘛。这个class估计也不会用到

2.  aria-hidden

        bootstrap文档中有一个效果是这样的:


<div class="form-group has-success has-feedback">
  <label class="control-label" for="inputSuccess2">Input with success</label>
  <input type="text" class="form-control" id="inputSuccess2" aria-describedby="inputSuccess2Status">
  <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
  <span id="inputSuccess2Status" class="sr-only">(success)</span>
</div>

        这里有个aria-hidden="true",并不明白作用何在。查了一下,百度结果是这样的:

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

        对于aria的解释:

ARIA 为Web app提供满足用户不同需求的解决方案。建设起用户和软件之间的桥梁

新的HTML5标准中增加 aria-* 的标签属性,全称Accessible Rich Internet Application。

        而这个span显示的是后面的对号,这样就很好理解了,对号是个图标,没必要被类似屏幕阅读器的设备访问,hidden就是对其隐藏咯。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>bootstrap轮播图实战</title> <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.3/css/bootstrap.min.css" rel="stylesheet" /> <style type="text/css"> .carousel-item { height: 400px; } </style> </head> <body> <div class="container"> <div class="row"> <div class="col-lg-8"> <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel" data-interval="1500" > <ol class="carousel-indicators"> <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active" ></li> <li data-target="#carouselExampleIndicators" data-slide-to="1" ></li> <li data-target="#carouselExampleIndicators" data-slide-to="2" ></li> </ol> <div class="carousel-inner"> <div class="carousel-item active"> <img src="images/s1.jpg" class="d-block w-100" alt="..." /> </div> <div class="carousel-item"> <img src="images/s2.jpg" class="d-block w-100" alt="..." /> </div> <div class="carousel-item"> <img src="images/s3.jpg" class="d-block w-100" alt="..." /> </div> </div> <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev" > <span class="carousel-control-prev-icon" aria-hidden="true" ></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next" > <span class="carousel-control-next-icon" aria-hidden="true" ></span> <span class="sr-only">Next</span> </a> </div> </div> </div> </div> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.3/js/bootstrap.min.js"></script> </body> </html>
06-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值