使占位符文本在不更改布局的情况下可访问



我的网站上有一个表单,为了显示用户需要输入的内容,我使用占位符。然而,屏幕阅读器不会阅读该文本。

我不想为表单中的每个输入添加标签,因为这不符合所需的视觉效果。

在不更改页面样式的情况下仍然创建此功能的最佳解决方案是什么?我愿意接受建议。

第一个选项:插入一个引用输入字段的隐藏标签。它在屏幕上不可见,但屏幕阅读器可以访问并向用户读取其内容:

<p>
<label class="class-to-hide" for="search">Enter search term</label>
<input type="text" id="search" name="search" />
</p>

但是,请确保引用是完整的(即for==id(,否则仍不清楚标签属于哪个元素。

第二个选项:使用WAI-ARIA属性定义仅适用于屏幕阅读器的标签。这样就不需要用隐藏的元素来打乱代码。

<input type="text" aria-label="Enter search term" name="search" />

其他建议:placeholder通常对视障用户来说是一个糟糕的选择。在大多数浏览器中,占位符文本以浅灰色打印,对比度低,这使得视力不全的用户很难阅读。

此外,一旦在输入字段中输入文本,占位符就会消失。如果你不能真正查看网站,这也会让事情变得困难,并可能导致误解。最好使用屏幕阅读器的描述性标签。

相关内容

最新更新