Html JAWS读取选择框,不在句子前重复

Html JAWS读取选择框,不在句子前重复,html,accessibility,jaws-screen-reader,Html,Accessibility,Jaws Screen Reader,我有一个像这样的句子。JAWS将把它读为hello-hello组合框选择点测试问题。如何引导JAWS阅读而不重复hello?期望结果是hello组合框选择点测试问题。 其代码如下所示: <div class="text"> <p> hello <span class="control group1"> <select class="select custom-select" name="s">

我有一个像这样的句子。JAWS将把它读为
hello-hello组合框选择点测试问题
。如何引导JAWS阅读而不重复
hello
?期望结果是
hello组合框选择点测试问题
。 其代码如下所示:

<div class="text">
    <p>
        hello <span class="control group1">
            <select class="select custom-select" name="s">
                <option value="">Choose...</option>
                <option value="1">first</option>
                <option value="2">second</option>
                <option value="3">third</option>
            </select> 
        </span> test question.
    </p>
</div>


你好
选择。。。
第一
第二
第三
试题。


屏幕阅读器通常会“读取”屏幕上的内容。通过使用语义html或aria角色,您可以让他们表现出不同的行为,这将使屏幕阅读器将内容视为“交互式”。在您的情况下,在段落内有一个弹出窗口。我认为这是将段落读两遍,一次作为内容,然后再次作为弹出窗口的一种“标签”。这是临时制作的标签,因为弹出窗口没有正式的标签

段落(通常)用于阅读/浏览,而不是交互,所以你应该重新考虑这个选择。我不能给出更好的建议,因为我不知道“hello”代表什么(除了占位符)


如果给弹出窗口一个正式标签(使用
元素或
aria标签
属性),JAWS就不需要猜标签(猜错了)弹出窗口的“标签”。这是临时制作的标签,因为弹出窗口没有正式的标签

段落(通常)用于阅读/浏览,而不是交互,所以你应该重新考虑这个选择。我不能给出更好的建议,因为我不知道“hello”代表什么(除了占位符)


如果你给弹出窗口一个正式的标签(可以是
元素或
aria标签
属性),JAWS就不需要猜标签了(猜错了)。

首先,图像上有什么?我很想回答你的问题,但作为一个JAWS用户,我完全失明,所以我看不到你的图像。其次,JAWS什么时候会重复“您好,您好”?如何导航:使用选项卡、箭头、
c
组合框的快速导航键?谢谢。@AndrePolykanine谢谢您的评论。图像是我问题末尾的代码将呈现的内容。当我聚焦到
hello
之前的某个位置时,请按
Insert+↓
,JAWS将从这个位置读取到页面的末尾。当它读取图像内容时,它将读取
hello hello combobox choose dot test question
。首先,图像上是什么?我很想回答你的问题,但作为JAWS用户,我完全失明,所以看不到你的图像。第二,JAWS什么时候重复?”您好您好”?如何导航:使用选项卡、箭头、
c
组合框的快速导航键?谢谢。@AndrePolykanine谢谢您的评论。图像是我问题末尾的代码将呈现的内容。当我聚焦到
hello
之前的某个位置时,请按
Insert+↓
,JAWS将从这个位置读取到页面的末尾。当它读取图像内容时,它将读取
hello hello combobox choose dot dot test question
。感谢您的帮助建议。在我的问题中,如果[1]我将注意力集中在
hello
之前的某个位置,请按
插入+↓
,JAWS将读取
你好组合框…
。如果[2]我通过
选项卡导航到组合框…
,JAWS将读取
你好组合框…
。这意味着,JAWS将始终读取组合框之前的句子(组合框的上下文),然后读取组合框。我希望避免在[1]的情况下重复上下文但请将其保留在案例[2]中。是否可能?是“hello”应该是可浏览文本,还是组合框的标签?目前它同时执行这两项任务,因此它将被读取两次,一次在浏览模式下读取(不是上下文,只是一个段落),然后当屏幕阅读器进入交互/表单模式时,它再次宣布交互控件旁边的文本节点(“上下文”)。如果您使用tab键,则只会获得上下文。如果您只希望公布标签,而不希望浏览文本,请将标签设置为适当的
元素,并将
for
属性指向组合框的id(当前缺失).thank you@Brennayoung,根据您的评论,我在选择框中添加了一个
aria标签
,它解决了我的问题。这还不清楚为什么会发生这种情况。这是因为没有标签。JAWS有聪明的算法在没有标签的情况下添加标签。它通常只使用标签前的文本,因为它很可能是描述ribes是表单元素。因此,第一个“hello”是文本,第二个“hello”是添加自己的标签。当关注表单元素时,标签总是被读出。这是预期的行为。感谢@selfthinker,我现在将这些重要的细节添加到了答案中。感谢您提供的有用建议。在我的问题中,如果[1]我聚焦到
hello
之前的某个位置,然后按
Insert+↓
,JAWS将读取
你好组合框…
。如果[2]我通过
选项卡导航到组合框…
,JAWS将读取
你好组合框…
。这意味着,JAWS将始终读取组合框之前的句子(组合框的上下文),然后读取组合框。我希望避免在[1]的情况下重复上下文但请将其保留在案例[2]中。是否可能?是“hello”应该是可浏览文本,还是组合框的标签?目前它同时执行这两项任务,因此它将被读取两次,一次在浏览模式下(不是上下文,只是一个段落),然后当屏幕阅读器进入交互/表单模式时,它再次宣布旁边的文本节点