当我将重点放在body标签上时,Windows讲述人将读取标签中的文本。如何防止这种情况发生?
我尝试了aria-hidden =“ true”,role =“ presentation”,tabindex =“-1”。这些都不起作用。
答案 0 :(得分:2)
似乎是Internet Explorer错误,而不是讲述人错误,因为我听到将NVDA与IE一起使用时会听到相同的问题。我在@LukeT提到的SO线程中使用了jsfiddle示例。我不知道该示例代码是否与您的相似。也许您可以发布代码。
在SO线程中,代码是(有少量更改):
<div tabindex="0" id="page-wrapper" role="region" aria-labelledby="title1">
<h2 id="title1">page 1</h2>
<ul>
<li tabindex="-1" style="display:none" presentation" aria-hidden="true">alpha</li>
<li>beta</li>
<li>gamma</li>
</ul>
</div>
如果我单击或制表到<div>
,即使它具有使它隐藏的所有可能的属性,我也会听到alpha
。我可以通过各种更改来解决问题,但是由于我不知道您的代码是什么样子,因此我不知道您需要哪个代码。
以下是解决问题的方法(以下任何一种-您无需全部完成):
aria-labelledby
)将<div>
上的aria-label
更改为<div ... aria-label="page 1">
。这意味着它具有与<h2>
相同的文本,但是可以正常工作。role
中删除了<div>
aria-label
上添加了<h2>
,这很奇怪,因为它只是复制了<h2>
中已经嵌入的内容。如果您发布代码,也许我们会找到适合您情况的东西。
答案 1 :(得分:0)
我找到了该线程https://angular.io/api/forms/EmailValidator。显然,您已经尝试了上面提到的解决方案,但是下面还有一条附加注释可以帮助您处理显式标签。另外,在讨论的更深处,它还提到Microsoft Edge在此方面也有帮助。
希望这会有所帮助!