accessibility - 为什么 JAWS 屏幕阅读器无法读取我的 Font Awesome 图标?
问题描述
我正在一个表格上测试 JAWS 屏幕阅读器,其单元格中有以下标记:
<center><i class="fa fa-check fa-1" title="MyTitle" aria-hidden="true" style="color:green" aria-label="read me"></i></center>
我注意到屏幕阅读器无法“进入”上述单元格(由于aria-hidden
),所以我将其删除:
<center><i class="fa fa-check fa-1" title="MyTitle" style="color:green" aria-label="read me"></i></center>
现在它可以进入单元格但不读取任何文本。
有什么方法可以让一些文本只能由屏幕阅读器访问,而在 UI 上不可见?
解决方案
<center>
<i class="fa fa-check fa-1"
title="MyTitle"
style="color:green"
aria-label="read me"
role="img">
</i>
</center>
请注意我是如何添加role="img"
的,这指示屏幕阅读器将其视为图像,因此它将读取aria-label
.
没有它,一些屏幕阅读器将忽略aria-label
某些元素的属性,因为它们不是“语义正确的”。
另一种方法是保留aria-hidden
图标上的 并添加一些用于屏幕阅读器用户的视觉隐藏文本。
推荐阅读
- java - 嵌套“try”块中的 Java“finally”子句
- arduino - Arduino可以做到这一点吗?如果是,比怎么样?
- android - 如何在非活动类中使用 getContentResolver()?
- spring-boot - Kerberos 问题:GSSException:未提供有效凭据
- c# - Linq XML 使用属性中的特定值查询父级的后代
- ios - WKWebView 每次应用启动时都会调用 DeviceMotion 和 DeviceOrientation 的请求权限
- python - 用于多项逻辑回归的 Scikit-Learn 与 Keras (Tensorflow)
- sql - 以毫秒为单位的 Hive 字符串到时间戳的转换
- flutter - Dart,在代理模式中以 DRY 或合成方式覆盖许多 getter 和 setter
- ng2-pdfjs-viewer - ng2-pdfjs-viewer 用于提取文本