如何防止 Windows 讲述人阅读 <title> 文本
Posted
技术标签:
【中文标题】如何防止 Windows 讲述人阅读 <title> 文本【英文标题】:How to prevent Windows Narrator from reading <title> text 【发布时间】:2019-01-08 08:40:53 【问题描述】:当我将焦点设置在 body 标签上时,Windows 讲述人会读取标签中的文本。我怎样才能防止这种情况发生?
我试过 aria-hidden="true"、role="presentation"、tabindex="-1"。这些都不起作用。
【问题讨论】:
【参考方案1】:似乎是 Internet Explorer 错误而不是讲述人错误,因为我听到在 IE 中使用 NVDA 时出现同样的问题。我在@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
,即使它具有使其隐藏的所有属性。我可以通过各种更改来解决这个问题,但是由于我不知道您的代码是什么样的,所以我不知道您需要哪一个。
以下是解决问题的方法(以下任何一项 - 您无需全部完成):
-
使用文字字符串 (
<div ... aria-label="page 1">
) 将 <div>
上的 aria-labelledby
更改为 aria-label
。这意味着它具有与 <h2>
相同的重复文本,但它有效。
从<div>
中删除了role
在<h2>
中添加了aria-label
,这很奇怪,因为它只是复制了<h2>
中已经嵌入的内容。
如果您发布您的代码,也许我们可以找到适合您的情况。
【讨论】:
【参考方案2】:我找到了这个帖子on the topic。显然您已经尝试过上述解决方案,但下面还有一条附加评论可能对您有所帮助,处理显式标签。此外,在讨论的更下方,它提到 Microsoft Edge 也有助于解决这个问题。
希望这会有所帮助!
【讨论】:
您好,感谢您的回复,我也尝试了标记,但仍然无效。我会看看 Microsoft Edge 是否可以提供任何帮助以上是关于如何防止 Windows 讲述人阅读 <title> 文本的主要内容,如果未能解决你的问题,请参考以下文章
winforms - 无法让 Windows 讲述人阅读消息框内容
如何让 Vista 的讲述人向我朗读我的 Swing 组件?