你知道当你输入一个输入时,JAWS首先读取前一个字段的内容的可能性吗? 是否可以修复它或取决于您使用的浏览器?
这是我的代码:
<!-- Presso -->
<div class="{!IF(presso, 'slds-show', 'slds-hide')}" style="margin-bottom: 8px">
<div class="slds-form-element slds-size--1-of-1">
<label class="slds-form-element__label">Presso</label>
<div class="slds-form-element__control">
<input id="pressoInput" class="slds-input" type="text" />
</div>
</div>
</div>
<!-- Region -->
<div class="slds-form-element">
<label class="slds-form-element__label">
Region
</label>
<div class="slds-form-element__control">
<input id="regionInput" class="slds-input" type="text" disabled="disabled"/>
</div>
</div>
我看到两件事。 第一个是你的第二个<input>
被禁用了,所以我有点好奇你是如何把注意力集中在第二个输入上的。 您没有使用tab,因为浏览器不允许您这样做。 您是否使用 JAWS 中的向下箭头在 DOM 中导航?
其次,您有<label>
元素,但没有将标签与<input>
字段相关联。 仅仅因为<label>
位于 DOM 中的<input>
旁边并不意味着当焦点移动到输入时,屏幕阅读器将读取标签。 你必须把它们绑在一起。 这是通过<label>
的for
属性完成的。for
的值应该是<input>
的 ID(而不是 NAME(属性,如下所示:
<label class="slds-form-element__label" for="pressoInput">Presso</label>
<div class="slds-form-element__control">
<input id="pressoInput" class="slds-input" type="text" />
</div>
...
<label class="slds-form-element__label" for="regionInput">Region</label>
<div class="slds-form-element__control">
<input id="regionInput" class="slds-input" type="text" disabled="disabled" />
</div>