我试图找出标记是否如下所示:
<label for="cc">Credit card</label>
<input type="text" placeholder="Credit card" id="cc">
是否存在屏幕阅读器会两次宣布"信用卡"的情况?
我知道根据浏览器/屏幕阅读器的组合,行为可能会有所不同,所以我想知道一般建议是否是仅使用label
并避免在placeholder
中重复相同的文本。
将占位符文本与标签结合使用并没有错。问题是当占位符属性用作标签的替换时。除了标签之外,某些屏幕阅读器/浏览器组合可能会读取占位符,但我认为这没什么可担心的。
" 不应将占位符属性用作标签的替代项。占位符是一个简短的提示,旨在帮助用户输入数据,因此它不应与标签元素相同。占位符可能不适用于辅助技术,因此可能无法依赖它来传达可访问的名称或说明">
https://www.webaccessibility.com/best_practices.php?best_practice_id=2440
还值得注意的是,占位符文本应满足 WCAG 2.0 SC 1.4.3 的对比度要求。
https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html