javascript - 如何防止 HTML 元素集中在 Angular 中?
问题描述
我在 IE 浏览器上遇到 JAWS 屏幕阅读器问题。它用 role="alert" 读取 span 标签两次。在 Firefox 和 Chrome 上不会出现此问题。NVDA 也适用于 IE。只有带有 IE 的 JAWS 才会出现问题。在互联网上搜索后,我从这个网站找到了以下内容
role="alert" 这应该用于屏幕阅读器一出现就应该阅读的重要消息。如果正确实施 ARIA 警报会很有用,但警报出错的方式有很多。几个例子:
隐藏元素在页面加载时应用了 role="alert",因此屏幕阅读器会立即阅读警报(即使它在视觉上是隐藏的),而不是在它出现时阅读它。
当它出现时,焦点被设置为警报,因此它被读取两次(一次是因为它是一个警报,另一次是因为它有焦点)。反复触发 ARIA 警报,使屏幕阅读器用户不堪重负。
我猜上面的观点就是这个原因。
请帮忙。如果需要,我将添加我的 Angular 代码示例。
解决方案
您有几种可能的选择,但如果没有代码示例,很难说出什么是最好的
查看 aria-hidden="isItIE" 让屏幕阅读器忽略 IE 中的元素 - isItIE 是真还是假
或者也许不让它成为一个隐藏的元素?使用 ngif 并仅在页面加载后有条件地显示它,因此它在开始时不是 dom 的一部分...再次,您的条件可以基于浏览器是否 IE
推荐阅读
- c# - 从视频中创建 Dicom 文件
- php - Laravel "logging.php" - 了解它是如何使用的
- python - Beautiful Soup KeyError:返回 self.attrs[key],但保留发生错误之前(和之后)的值
- windows - 比较文件夹中的文件并删除不存在的文件 - 第 2 部分
- r - 如何在 bam() 通用加性模型中提取单独“按因素”的拟合值?
- c++ - 指向作为类成员的全局变量的指针
- postgresql - 触发以阻止 UPDATE 并将其转换为 INSERT
- c# - 从 IQueryable 创建自定义对象而不将所有内容加载到内存中
- arrays - Natvis 可视化器将成员指针类型视为数组
- c# - Visual Studio C# 块在“输入”时无法正常格式化