【发布时间】:2019-04-30 18:07:15
【问题描述】:
使用内置的 Chrome Lighthouse 在 WP 网站上运行可访问性审核显示注册字段由于没有关联标签而无效。我以前遇到过这个问题,我不明白为什么它认为它没有关联。我可以通过直接将aria-label 标签添加到input 来让它通过,但我不应该这样做。
这是从 Subscribe2 创建的代码 sn-p
<label for="s2email">Your email:</label>
<br>
<input type="text" name="email" id="s2email" value="Enter email address..." size="20" onfocus="if (this.value === 'Enter email address...') {this.value = '';}" onblur="if (this.value === '') {this.value = 'Enter email address...';}">
可以在这里找到:https://blog.collaborative.org/
【问题讨论】:
-
您的示例中缺少某些内容。如果我将您的示例复制/粘贴到一个简单的页面中,它会通过灯塔(和斧头)。
-
另请注意,您的
onfocus指向的是字符串而不是函数。这是另一个提示,您可能键入了代码示例,而不是复制/粘贴有问题的原始代码。我假设您实际上没有指向字符串的on处理程序。 -
for/id 关系在这里看起来是正确的。我们可以看到实际的页面,看看整个上下文吗?或者,您能否提供该工具提供的确切报告?
-
ID 是否唯一?如果有两个具有相同 ID 的输入可能会导致此问题。
-
当然,为了简化它,我已经将它剥离了一点。将更新 OP。
标签: html accessibility forms html-validation lighthouse