当用户单击输入类型文本字段时,它应该先说标签名称,然后编辑文本吗?我已经尝试过aria-label和aria-labelledby,但两者都说标签名称后编辑框。
下面是一个例子:
<label for="edittext" id="label" class="translatable input-label">Name</label>
<input type="text" class="translatable-pholder field-marker" aria-label="label" placeholder="Please fill" name="edittextfield" id="edittext"/ >
当前行为:当点击输入栏时,它说编辑文本,名称(标签文本),请填写,双击等
预期行为:当点击输入栏时,它应该说名称,编辑文本,请填写,双击到…等
不要试图强制屏幕阅读器应该如何显示内容。只要确保你的代码在语义上是正确的,然后让Talkback、VoiceOver、JAWS和NVDA来决定元素(编辑框)的角色应该在标签之前还是之后宣布。
一个反馈用户会习惯它宣布事情的方式,所以如果你改变它,它会让人困惑。
你的代码很好。您有一个具有for
属性的<label>
,它指向<input>
。