7个提升网页svg文件可访问性的方案-kb88凯时官网登录

时间:2020-09-30
阅读:
免费资源网,https://freexyz.cn/

1、作为图片使用的 svg 文件

如果你的 svg 是作为  的 src 引入的,务必为  添加 role="img" 属性:

kb88凯时官网登录

如果不加 role="img",有些屏幕阅读器不会将  认作图片,只是读出 alt 值。

2、作为图标使用的 svg

svg 作为图标使用时,请使用 aria-hidden="true" 对访问设备隐藏,添加一个视觉上隐藏(visually-hidden)的兄弟元素作为图标的文本语义说明。


  
    
      
      
    
  

如上,为 添加了 aria-hidden="true",让其对访问设备隐藏。之后的 .sr-only 就是所谓的视觉隐藏元素——只是视觉上看不见,但会被屏幕阅读读到。

3、ie 的 bug

网页如果需要兼容 ie,那么在使用  的时候,需要显式添加 focusable="false" 属性。

...

原因是为:在 ie 浏览器上关于 svg 的一个 bug。大家知道,svg 默认是不会被聚焦的,但在 ie 中,如果 svg 包含在像链接、按钮这样的可聚焦元素里时,使用 tab 是可以被聚焦的。这就导致父元素聚焦后,子元素又被聚焦的情况发生。

4、safari 10 的 bug

在 safari 10 中,如果  中包含 ,务必在两者中间使用空格隔开。

 ... 

否则,使用键盘 tab 访问到这里的时候,跳不过去。不够之后的版本的已经修复了,如果你的网页需要支持 safari 10 的话,就需要注意这个。

5、作为图片使用的 svg

有时需要将 svg 文件作为单独的图片使用,那么跟第二条类似的是,添加一个视觉隐藏元素作为语义说明使用。


之所以没有选择以  的形式添加说明,是因为如果  不是在可聚焦元素里使用的时候,有些屏幕阅读器不会正确朗读 aria-label 属性。

6、支持 ie8- 浏览器

在 ie8- 浏览器中, 中的  标签会被显示出来,因此需要支持此类浏览器的话需要隐藏它们。

 ... 

7、色彩对比

设计 svg 图标时,一定要考虑到色弱用户、或在高对比黑色背景主题下(high contrast theme)使用的用户。举一个例子,设计图标的时候,可以考虑使用实心的背景加上颜色鲜明边框。

免费资源网,https://freexyz.cn/
返回顶部
顶部
网站地图