html - 防止 Screenreader 读取 aria-live 容器中某些区域的更改
问题描述
我有一个索引页面,用户可以在其中过滤结果,这些结果的外部容器有一个aria-live
属性,以便读取该容器中的更改(希望这从一开始就没有错)。到目前为止,一切都很好。
问题是:目前这些容器有一个div.button-bar
通过 CSS 显示在mouseover
.
一个简化的示例如下所示:
<div aria-live="polite">
<article>
<h2>Some headline</h2>
<!--- some text and icons -->
<div class="button-bar">
<button>Edit</button>
<button>Delete</button>
<button>View</button>
</div>
</article>
</div>
button-bar
对于键盘支持,我们更改了当前行为并添加了一个 JS 事件,当文章中的某些内容被聚焦时,该事件将通过添加一个类来显示。但是屏幕阅读器会立即读取这些按钮(由于aria-live
)而不是标题和图标。我不确定setTimeout
在我的 JS 中包含 a 是否能正确解决问题。是否有一个属性可以让屏幕阅读器忽略我的变化,button-bar
但仍然阅读焦点上的那些按钮?
解决方案
推荐阅读
- reactjs - Graphql React 突变没有给我回应
- node.js - 如何立即撤销特定用户的 jwt 访问令牌?
- python - 在 Windows 上使用 Python 进行椭圆曲线加密
- sql - 如何在 SQL Server 的 while 循环中使用 select 语句检索记录?
- c++ - 将函数作为参数传递,不知道该函数的参数数量
- xaml - XAML 婴儿步骤。使用子元素设置按钮背景颜色
- php - 通过 Location API 执行“从该位置完成在线订单”选项状态
- java - 如何在鼠标位置添加面板?
- python - 使用python将排序/调整后的数据导出到excel
- javascript - 无法通过在 tensorflow.js 中加载预训练模型(loadLayersModel)来预测