屏幕阅读器占位符问题

时间:2015-11-04 07:25:49

标签: html screen-readers

我目前正致力于表单的辅助功能,并且在输入文本框中遇到了占位符问题。输入的HTML是

<input type="text" placeholder="Email Address" maxlength="100" size="40" id="p_email" name="Contact::ContactEmail" />

在Chrome(ChromeVox)上使用屏幕阅读扩展程序进行测试时,正在读取的文字听起来像是:

  

电子邮件地址中的电子邮件地址[暂停1秒]编辑文本

如果我删除占位符属性,则读出的文本将变为:

  

电子邮件地址[暂停1秒]编辑文字

  • 那么有什么方法可以让屏幕阅读器不接受 考虑placeholder属性?
  • 另外,我可以让屏幕阅读器不说&#34;编辑文字&#34;最后?

1 个答案:

答案 0 :(得分:1)

ChromeVox是一个方便的开发人员工具,但大多数需要屏幕阅读器的用户都使用JAWS或NVDA。每个屏幕阅读工具可能会以不同的方式处理占位符,如何阅读它取决于您的标记,尤其是双方标记。

理想情况下,即使标签位于屏幕外,您也应该在输入上使用标签和aria-labelledby。

“编辑文本”表示用户可以编辑文本,您不想更改此功能。

<label id="the-email-label" for="p_email">Email Address</label>
<input type="text" placeholder="Email Address" maxlength="100" size="40" id="p_email" name="Contact::ContactEmail" aria-labelledby="the-email-label"/>