当标记一个没有交互性的非输入元素时,例如预览 <img>
, 使用 <span>
是否更好(或正确)?而不是 <label>
?
例如:
<span>Image preview:</span>
<img id="preview">
或者这个:
<label for="preview">Image preview:</label>
<img id="preview">
最佳答案
<label>
标签定义 <input>
的标签元素。
所以使用<span>
相反。
for 属性将标签与控制元素相关联,如 HTML 4.01 规范中标签描述中所定义。这意味着,除其他事项外,当标签元素获得焦点(例如通过单击)时,它会将焦点传递给其关联的控件。标签和控件之间的关联也可以由基于语音的用户代理使用,这可以让用户在处理控件时询问关联的标签是什么。 (这种关联可能不像在视觉渲染中那么明显。
HTML 规范并未强制要求将标签与控件相关联,但 Web 内容可访问性指南 (WCAG) 2.0 规定了这一点。这在技术文档中描述 H44: Using label elements to associate text labels with form controls ,这也解释了隐式关联(通过嵌套,例如在标签内输入)不像通过 for 和 id 属性的显式关联那样得到广泛支持,
关于html - 对非输入/非交互元素使用 <label> 是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214093/