在表单中标记事物的正确方法是什么?
我见过很多以 、
、
等形式标记事物的方法等等。这个问题有正确还是错误的答案吗? 这些有什么优点/缺点吗? 谢谢I've seen lots of ways to label things in a form such as <label>
, <div>
, <span>
, etc. Is there a right or wrong answer for this? Are there any advantages/disadvantages to any of these?
Thank You
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
为表单元素提供标签的正确方法是使用
<标签>
:因为它是一个语义元素,为您的标记提供含义,用户代理可以理解它并且倾向于将标签上的点击直接定向到元素本身(对于像复选框这样的微小控件非常有帮助)。 此外,您还为使用屏幕阅读器或其他辅助功能的人们提供有用的帮助。
您不应使用
或
来实际标记元素。 然而,对于辅助帮助文本,它们可能会很有用。 但恕我直言,您应该在可能且合理的情况下坚持使用 HTML 的语义功能。 我眼中的情况就是这样。
The proper way to provide a label to a form element is to use
<label>
:Since it is a semantic element providing meaning to your markup user agents can make sense of it and tend to helpfully direct clicks on the label to the element itself (very helpful for tiny controls like checkboxes). Also you're providing helpful assistance to people using screen readers or other accessibility features.
You shouldn't use
<div>
or<span>
to actually label an element. For auxiliary help text, however, they might prove useful. But imho you should stick to the semantic capabilities of HTML where possible and sensible. This is such as case in my eyes.标签最适合辅助功能(选项卡顺序、屏幕阅读器等)
查看更多信息:
http://www.communitymx.com/content/article.cfm?cid= 02310
Label is best for accessibility (tab order, screen readers, etc)
See more at:
http://www.communitymx.com/content/article.cfm?cid=02310
我更喜欢这个:
看看 Phil Haack< /a> 认为...
I tend to prefer this:
Take a look at what Phil Haack thinks...
最好的方法是这个:
这对于复选框来说特别有趣。 如果您单击标签,它将选中/取消选中该复选框。 如果您单击输入字段的标签,它将选择它。
通过
The best way is this one :
This is especially interesting for checkboxes. If you click the label it will check/uncheck the checkbox. If you click on the label of an input field it selects it.
via