.sr-only
是专门用于屏幕阅读器的类名。您可以使用任何类名,但.sr-only
非常常用。如果您不关心在开发时考虑到合规性,那么可以将其删除。如果删除它不会以任何方式影响 UI,因为此类的 CSS 对桌面和移动设备浏览器不可见。
这里似乎缺少一些关于使用.sr-only
来解释其目的和用于屏幕阅读器的信息。首先,始终牢记受损用户非常重要。减值是 508 合规性的目的:https ://www.section508.gov/ ,很高兴 bootstrap 考虑到这一点。然而,使用.sr-only
并不是 508 合规性需要考虑的全部。您可以使用颜色、字体大小、导航可访问性、描述符、使用 aria 等等。
但至于.sr-only
- CSS 实际上做了什么?用于.sr-only
. 我使用的少数几个之一如下:
.sr-only {
position: absolute;
margin: -1px 0 0 -1px;
padding: 0;
display: block;
width: 1px;
height: 1px;
font-size: 1px;
line-height: 1px;
overflow: hidden;
clip: rect(0,0,0,0);
border: 0;
outline: 0;
}
上面的 CSS 隐藏了使用此类包装的桌面和移动浏览器中的内容,但可以被 JAWS 之类的屏幕阅读器看到:http ://www.freedomscientific.com/Products/Blindness/JAWS 。示例标记如下:
<a href="#" target="_blank">
Click to Open Site
<span class="sr-only">This is an external link</span>
</a>
此外,如果 DOM 元素的宽度和高度为 0,则 DOM 看不到该元素。这就是为什么上面的 CSS 使用width: 1px; height: 1px;
. 通过使用display: none
并将您的 CSS 设置为height: 0
and width: 0
,DOM 看不到该元素,因此存在问题。使用上述 CSSwidth: 1px; height: 1px;
并不是为了使内容对桌面和移动浏览器不可见(没有overflow: hidden
,您的内容仍会显示在屏幕上),并且对屏幕阅读器可见。隐藏桌面和移动浏览器的内容是通过添加一个偏移量来完成的width: 1px
,height: 1px
之前提到过使用:
position: absolute;
margin: -1px 0 0 -1px;
overflow: hidden;
最后,要很好地了解屏幕阅读器看到的内容并将其传递给受损用户,请关闭浏览器的页面样式。对于 Firefox,您可以通过以下方式执行此操作:
View > Page Style > No Style
我希望我在这里提供的信息除了其他回复之外对某人有进一步的用处。