[英]NVDA not reading text in navigation using arrow keys
I am facing an issue with the NVDA screen reader where it's not reading the links or text while navigating.我在使用 NVDA 屏幕阅读器时遇到问题,它在导航时没有阅读链接或文本。
HTML HTML
<nav role="navigation">
<ul class="list">
<li class="list-item">
<a class="link" href="#" aria-haspopup="true" aria-expanded="false">Home</a>
<div class="sub-nav">
<ul class="sub-nav-list">
<li>
<a href="">First list item in home</a>
</li>
<li>
<a href="">Second</a>
</li>
</ul>
</div>
</li>
<li class="list-item">
<a class="link" href="#" aria-haspopup="true" aria-expanded="false">About Us</a>
<div class="sub-nav">
<ul class="sub-nav-list">
<li>
<a href="">First list item in about us</a>
</li>
<li>
<a href="">2nd</a>
</li>
</ul>
</div>
</li>
<li class="list-item">
<a class="link" href="#" aria-haspopup="true" aria-expanded="false">Contact</a>
<div class="sub-nav">
<ul class="sub-nav-list">
<li>
<a href="">First list item in contact</a>
</li>
<li>
<a href="">two</a>
</li>
</ul>
</div>
</li>
</ul>
</nav>
CSS CSS
.sub-nav {
display:none;
background: greenyellow;
}
li.hover .sub-nav {
display:block;
}
.list > li {
float:left;
margin: 0;
background: grey;
text-align: center;
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
.list {
margin:20px auto;
padding: 0;
list-style-type: none;
width: 800px;
}
.sub-nav-list a {
padding:20px 10px;
margin-top:10px;
display:inline-block;
background: greenyellow;
}
.sub-nav-list a:first-child {
margin-top: 0;
}
.list-item > a {
display:block;
padding: 20px;
width: 200px;
color: white;
}
JS (using jQuery) JS(使用 jQuery)
$(".list-item").mouseenter((e) => {
$(e.currentTarget).addClass('hover')
$(e.currentTarget).find('a.link').attr('aria-expanded',true)
})
$(".list-item").mouseleave((e) => {
$(e.currentTarget).removeClass('hover')
$(e.currentTarget).find('a.link').attr('aria-expanded', false)
})
$(".list-item").focusin((e) => {
$(e.currentTarget).addClass('hover')
$(e.currentTarget).find('a.link').attr('aria-expanded', true)
})
$(".list-item").focusout((e) => {
if(e.currentTarget.contains(e.relatedTarget))
{
return
}
$(e.currentTarget).removeClass('hover')
$(e.currentTarget).find('a.link').attr('aria-expanded', false)
})
I am using arrow keys to navigate with NVDA, and if I move from a sub menu to the next menu, eg, going from "home" to its sub menu, moving next to the "About us" menu, it wont read "About us".我正在使用箭头键导航 NVDA,如果我从子菜单移动到下一个菜单,例如,从“主页”移动到其子菜单,移动到“关于我们”菜单旁边,它不会显示“关于我们”。 Instead it reads the sub menu items of "About us" Any idea what could be going wrong?
相反,它会读取“关于我们”的子菜单项。知道可能出了什么问题吗?
What it reads:它的内容是:
navigation landmark
list with 3 items
collapsed visited subMenu link
Home
list with 2 items
visited link
First list item in home
visited link
Second
out of list
list with 2 items
visited link
First list item in about us
Sorry to be of little help, but works for me:抱歉帮不上忙,但对我有用:
Home
collapsed visited subMenu link
list with 2 items
First list item in home
visited link
Second
visited link
About Us
expanded visited subMenu link
I'm using NVDA 2019.2.1我正在使用 NVDA 2019.2.1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.