假设我有一个输入字段,在它旁边我有文本。文本是否应该始终包含在 html 标记中?如果是,为什么?
First name: <input type="text" name="fname">
VS
<label for="fname">First name:</label> <input type="text" name="fname">
假设我有一个输入字段,在它旁边我有文本。文本是否应该始终包含在 html 标记中?如果是,为什么?
First name: <input type="text" name="fname">
VS
<label for="fname">First name:</label> <input type="text" name="fname">
在这种情况下,标签允许您单击标签本身 - 它会将焦点集中在for
属性中提供的 id 的输入上。推荐用于可用性。
只需确保将id
标签for
设置为输入的输入id
。
肯定是这样的:
<label for="fname">First name:</label> <input type="text" name="fname" id="fname">
浏览器理解 的for
属性label
和的id
属性之间的联系input
。
结果是(例如),您可以单击label
并相应地input
获得焦点。
简而言之,是的,您应该这样做。未封闭的文本离图像不是很远。如果不完全更换它,它几乎无法访问且几乎无法更改。
对于 css 规则,如果您可以轻松掌握文档的每个元素组,包括文本,就会容易得多。
只是为了完整起见:
<label>First name: <input type="text" name="fname"></label>
也是可能的;更多见于type="radio"
。
如前所述:可点击(适合复选框和单选按钮),以及适用于视障人士的屏幕阅读器:可以在带有标签的文本框中读出标签。
对于其他标签表单,我已经看到 JavaScript 验证,标记标签(错误)。