如何防止Windows讲述人读取<title>文本

时间:2018-07-31 21:04:18

标签: html windows accessibility wai-aria narrator

当我将重点放在body标签上时,Windows讲述人将读取标签中的文本。如何防止这种情况发生?

我尝试了aria-hidden =“ true”,role =“ presentation”,tabindex =“-1”。这些都不起作用。

2 个答案:

答案 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。我可以通过各种更改来解决问题,但是由于我不知道您的代码是什么样子,因此我不知道您需要哪个代码。

以下是解决问题的方法(以下任何一种-您无需全部完成):

  1. 使用文字字符串(aria-labelledby)将<div>上的aria-label更改为<div ... aria-label="page 1">。这意味着它具有与<h2>相同的文本,但是可以正常工作。
  2. role中删除了<div>
  3. aria-label上添加了<h2>,这很奇怪,因为它只是复制了<h2>中已经嵌入的内容。

如果您发布代码,也许我们会找到适合您情况的东西。

答案 1 :(得分:0)

我找到了该线程https://angular.io/api/forms/EmailValidator。显然,您已经尝试了上面提到的解决方案,但是下面还有一条附加注释可以帮助您处理显式标签。另外,在讨论的更深处,它还提到Microsoft Edge在此方面也有帮助。

希望这会有所帮助!