使JAWS宣布咏叹调所选状态

时间:2018-09-20 21:00:51

标签: html accessibility wai-aria jaws-screen-reader section508

我有一个带有选项卡式导航的页面,我需要让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说“已选择”和“未选择”(或类似内容)?

1 个答案:

答案 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-selectedrole="button"role="link"上无效,但 role="tab"上有效。参见“ Allowed ARIA roles, states and properties

将代码更改为

<a aria-selected="true" href="profile.html" id="profileTab" role="tab">

它应该可以工作。