我遇到了JAWS阅读器的一些奇怪行为,它读取了两次问题标签。
在下面的代码中,我为无线电组添加了一个aria labeledby,该组引用了"p"标记中的问题id。
<div class="form-group">
<p id="question1">What is your favourite color? <span class="sr-only">select one color</span></p>
<div class="radio-group" role="radiogroup" aria-labelledby="question1">
... radio button 1 ...
... radio button 1 ...
... radio button 1 ...
</div>
</div>
我是不是遗漏了什么?
感谢
您没有遗漏任何内容。如果使用虚拟(浏览(光标用箭头键在页面中导航;你最喜欢的颜色是什么"两次
- 第一次是为段落
- 第二次是针对具有角色radiogroup的div,它引用前面看到的段落作为标签
你可以让它只读一次,但我强烈建议你选择这些解决方案中的任何一个,因为它们都很糟糕:
- 只需删除带有标签的咏叹调问题:";你最喜欢的颜色是什么"如果用户使用选项卡导航,将不再被读取
- 删除该段并将";你最喜欢的颜色是什么"直接在咏叹调标签中。问题:有视力的用户再也看不到它了
- 使用CSS将段落从屏幕上删除。问题:同上
- 设置要显示的段落:无问题:和上面一样,而且它是一种边界设计:它可能适用于一些屏幕阅读器,但不能适用于其他一些。在这种情况下,行为没有得到很好的说明
附带问题:为什么要使用<div role=radiogroup">
而不是<fieldset>
和<legend>
?如果你能晚一点用,那肯定会更好。