当我将焦点设置在body标签上时,Windows叙述者会读取标签中的文本 . 我怎样才能防止这种情况发生?
我试过aria-hidden =“true”,role =“presentation”,tabindex =“ - 1” . 这些都不起作用 .
似乎是一个Internet Explorer错误,而不是一个Narrator错误,因为我听到使用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 ,即使它有可能使其隐藏的所有属性 . 我可以通过各种变化解决问题,但因为我不知道你需要哪一个 .
<div>
alpha
以下是解决问题的方法(以下任何一项 - 您不需要全部执行):
使用文字字符串( <div ... aria-label="page 1"> )将 <div> 上的 aria-labelledby 更改为 aria-label . 这意味着它有 <h2> 的重复文本,但它有效 .
<div ... aria-label="page 1">
aria-labelledby
aria-label
<h2>
从 <div> 删除 role
role
在 <h2> 中添加了 aria-label ,这很奇怪,因为它只是复制了 <h2> 中已经嵌入的内容 .
如果您发布代码,也许我们可以找到适合您案例的内容 .
我找到了这个帖子on the topic . 显然你已经尝试了上面提到的解决方案,但是下面还有一个额外的评论可以帮助你处理明确的标签 . 此外,在讨论中,它还提到Microsoft Edge也在这方面做出了贡献 .
希望这可以帮助!
2 回答
似乎是一个Internet Explorer错误,而不是一个Narrator错误,因为我听到使用NVDA与IE相同的问题 . 我在@LukeT提到的SO线程中使用了jsfiddle示例 . 我不知道该示例代码是否与您的类似 . 也许你可以发布你的代码 .
从SO线程,代码是(有微小的变化):
如果我点击或标签到
<div>
,我会听到alpha
,即使它有可能使其隐藏的所有属性 . 我可以通过各种变化解决问题,但因为我不知道你需要哪一个 .以下是解决问题的方法(以下任何一项 - 您不需要全部执行):
使用文字字符串(
<div ... aria-label="page 1">
)将<div>
上的aria-labelledby
更改为aria-label
. 这意味着它有<h2>
的重复文本,但它有效 .从
<div>
删除role
在
<h2>
中添加了aria-label
,这很奇怪,因为它只是复制了<h2>
中已经嵌入的内容 .如果您发布代码,也许我们可以找到适合您案例的内容 .
我找到了这个帖子on the topic . 显然你已经尝试了上面提到的解决方案,但是下面还有一个额外的评论可以帮助你处理明确的标签 . 此外,在讨论中,它还提到Microsoft Edge也在这方面做出了贡献 .
希望这可以帮助!