我在标签元素中包含了一个切换复选框。但是,我不需要任何标签元素的文本。但是可访问性使我错误地添加了一些我根本不需要的标签文本。我该如何克服这个错误?
<label class="toggle" for="togglechkbox" id="Remember My ID" >
<input id="togglechkbox" name="togglechkbox" type="checkbox" >
</label>
答案 0 :(得分:1)
虽然从W3C的角度来看技术上有效,但从未建议将<input>
嵌套在<label>
内。
人们常说一些屏幕阅读器/浏览器组合不支持它。这可能是您从验证工具获取警告的原因。
在复选框之前或之后立即放置标签会更安全。
现在回答一下这个问题,你必须提供一个标签,否则屏幕阅读器用户不知道复选框是什么,即他们无法知道复选框是什么。 或者,您可以删除标签,但可以使用aria-label和/或aria-labelledby进行补偿。
你必须做一个或另一个。否则,屏幕阅读器无法访问。