屏幕阅读器不会读取页面加载时隐藏的文本,但通过 JS onclick 使其可见?

问题描述 投票:0回答:1

非常初学者,提前抱歉。

上下文:我正在使用 WYSIWYG 应用程序来编写交互式 360 度摄影之旅,但该应用程序在自定义 JS 编码方面具有很大的灵活性,我只是在尝试。

案例:简单来说,我有一个网页,其中的 div 包含文本,该文本在用户单击按钮之前处于隐藏状态。该按钮上有文本,在页面加载时已经可见。在使用屏幕阅读器(Mac、Chrome 上的 VoiceOver)进行测试时,VO 可以很好地读取按钮上的文本。但是,当单击该按钮时,隐藏的 div 的可见性将从“隐藏”更改为“继承”。文本出现,但屏幕阅读器无法读取或识别它。

在阅读了这里的其他几篇文章后,我尝试将文本 div 设置为 role =alert,但屏幕阅读器仍然没有阅读它。如果我将 tabindex 更改为 0,然后按 Tab 键切换到文本,它确实会读取它,但我对 WCAG 指南的理解是,文本不需要可选项卡,因为它不是交互式的。

我不太熟悉屏幕阅读器的工作原理,无法理解原因或识别根本问题。

可在此处获取测试项目,以防有帮助。任何指导将不胜感激,谢谢。

javascript screen-readers
1个回答
0
投票

您需要在要取消隐藏的元素的包含父级

上使用
aria-live="polite"

<div aria-live="polite">
  <div>
    I'm hidden initially until button click
  </div>
</div>

我还有另外两个关于

aria-live
的答案可能会有所帮助:

© www.soinside.com 2019 - 2024. All rights reserved.