标签未与输入关联

时间:2018-11-28 18:46:00

标签: html accessibility html-form html-validation lighthouse

使用内置的Chrome Lighthouse在WP网站上运行可访问性审核,由于没有关联的标签,因此注册字段无效。我以前曾遇到过这个问题,但我不明白为什么它认为它没有关联。通过将aria-label标签直接添加到input可以使它通过,但是我不必这样做。

这是从Subscribe2创建的代码段

<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/

1 个答案:

答案 0 :(得分:2)

单独查看代码示例时,它看起来不错:它具有一个labelinput元素(使用forid属性显式关联)。

但是,当您检查站点时,它看起来有所不同:由于样式规则.s2_form_widget label { display: none; },标签是不可见的。 (在Firefox中使用Inspector时,您会看到此信息,将其移至DOM树中的标签并检查相关样式。)

请注意,display: none不仅在视觉上隐藏标签,而且对于屏幕阅读器也是如此。结果,从屏幕阅读器或其他辅助技术的角度来看,输入元素没有标签,并且无法满足表单控件需要显式标签的要求。 (作为一种替代方法,您可以尝试将标签隐藏在屏幕外并以负边距显示。)

相关问题