html - 对非输入/非交互元素使用 <label> 是一种好习惯吗?

标签 html input label

当标记一个没有交互性的非输入元素时,例如预览 <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/

相关文章:

html - css3 边框图像

css - Firefox - Google 字体,希腊语不适用于 Roboto

c# - 从 KeyData 中提取 KeyCode

java - Antlr4的LABEL_CONFLICTS_WITH_RULE的含义

python - matplotlib 中具有相同数量 xticklabels 的六个子图

HTML 实体与。使用的 Unicode 代码点

javascript - 想要在 JQuery 中获取表行的特定子行

php - 在表单中创建黑名单过滤器以避免某些单词

java - 如何检查用户输入的内容是否不是java中的字符串

c - gtk 标签文本居中和换行