我正在使用JAWS测试代码。 JAWS将以下日期读取为“移入日期星级dd/mm/i
-edit”。
如何使JAWS读取为“ Move In Date star dd/mm/yyyy
”。
JAWS不读取"yyyy"
,而是读取“ i edit”。
<input type="text" aria-label="Move In Date * dd/mm/yyyy" id="startDate" placeholder="dd/mm/yyyy">
答案 0 :(得分:1)
在日期掩码中使用大写字母,例如YYYY。 JAWS将把它们读为单独的字母。
您不需要做任何其他事情,尽管我建议您在输入中使用常规的label元素构造,而不是aria-label。
答案 1 :(得分:0)
首先,应该是aria-label
,而不是placeholder
,根据"Accessible Name and Description Computation 1.1" spec来说,但是某些屏幕阅读器会同时读取标签和占位符。其他人只会读取标签。
规范的第2C步说使用aria-label
,然后过程停止。 (该规范是一个很大的if / else语句。)步骤2D是使用placeholder
* 可能 *的地方。这就是使用“本地标记...文本替代项” 的地方。是否应该将placeholder
视为替代文本尚有待商bat,但是,如果满足步骤2C,则永远不应到达步骤2D。
JAWS可能会说“我”而不是“ i”,但这仍然不正确。听到它之后,按 Ins + Space ,然后按 H ,以打开JAWS的语音历史记录窗口。它应该显示所读取的确切文本,应该是您的aria-label
。
您可以尝试两种方法:
aria-label
中使用大写字母表示日期。有时,如果单词不是大写单词,则当单词全部大写时,JAWS会拼出字母。 <input type="text" aria-label="Move In Date * DD/MM/YYYY" id="startDate" placeholder="dd/mm/yyyy">