标记没有交互性的非输入元素(例如预览< img>)时,使用< span>是否更好(或更正确)?而不是< label>?
例如.:
<span>Image preview:</span> <img id="preview">
或这个:
<label for="preview">Image preview:</label> <img id="preview">
解决方法
<标签> tag定义< input>的标签.元件.
所以请改用< span>.
for属性将标签与控件元素相关联,如HTML 4.01规范中标签的描述中所定义.除其他事项外,这意味着当标签元素接收焦点(例如通过点击)时,它将焦点传递给其相关控件.标签和控件之间的关联也可以由基于语音的用户代理使用,这可以在处理控件时向用户提供询问相关标签是什么的方式. (该关联可能不像在视觉渲染中那么明显.
HTML规范并不强制要求标签与控件相关联,但Web内容可访问性指南(WCAG)2.0也是如此.这在技术文档H44中描述:使用标签元素将文本标签与表单控件相关联,这也解释了隐式关联(通过嵌套,例如标签内的输入)不像通过for和id属性的显式关联那样得到广泛支持,