我有一个带有选项卡式导航的页面,我需要让JAWS宣布选项卡的状态。例如:
________
Shop | Cart | Recent orders | Profile
--------------------------------------
当用户在上述选项卡中移动时,JAWS应该说类似
商店标签;未选择
(标签)
大车;已选择
(标签)
最近的订单;未选择
(标签)
轮廓;未选择
在上面带有括号的“(Tab)”的地方,我的意思是JAWS在说“ tab”一词,是因为按下了 Tab 键在导航选项卡之间移动。
目前,JAWS并没有说出“未选中”和“选中”两个词,其余的都是。我正在使用像
这样的标记<a aria-selected="false" href="profile.html" id="profileTab">
JAWS官方文档(在线here中复制)表明,JAWS可以识别aria-selected
,但没有说明该属性具有什么作用。
我可以在页面源代码中看到ARIA标记,但是JAWS并没有大声地读出它,或者就我所知,它根本不做任何事情。如何让JAWS说“已选择”和“未选择”(或类似内容)?
答案 0 :(得分:2)
authoring practice在选项卡控件上有一个不错的部分。 demo site像您一样使用aria-selected
,但是当我刚刚对其进行测试时,它在JAWS和Internet Explorer中听起来不错,尽管该演示将aria-selected
设置为<button>
的链接。
您使用的是哪种浏览器?
最新版本的JAWS?
此外,标签页控件通常使用箭头键(而不是 tab 键)在标签页之间导航(请参见前面的“创作实践”),但这不会影响aria-selected
是否是否被读取。
(作为一个有趣的事实,每次按下 tab 键,您都可以关闭JAWS的“ tab”公告。我经常使用JAWS,不需要它告诉我当我按Tab键时(对我来说只是音频混乱。Ins+ J>实用程序>设置中心>管理键标签>标签>切换静音)
更新
抱歉,暂时失脑了。我忘了提到role="tab"
。这就是造成您的问题的原因。 aria-selected
在role="button"
或role="link"
上无效,但 在role="tab"
上有效。参见“ Allowed ARIA roles, states and properties”
将代码更改为
<a aria-selected="true" href="profile.html" id="profileTab" role="tab">
它应该可以工作。