在表单中标记事物的正确方法是什么?

发布于 2024-08-01 17:23:06 字数 155 浏览 3 评论 0原文

我见过很多以

等形式标记事物的方法等等。这个问题有正确还是错误的答案吗? 这些有什么优点/缺点吗? 谢谢

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

番薯 2024-08-08 17:23:06

为表单元素提供标签的正确方法是使用 <标签>

某些表单控件自动具有与其关联的标签(按下按钮),而大多数则没有(文本字段、复选框和单选按钮以及菜单)。

对于那些具有隐式标签的控件,用户代理应使用 value 属性的值作为标签字符串。

元素用于为没有隐式标签的控件指定标签

因为它是一个语义元素,为您的标记提供含义,用户代理可以理解它并且倾向于将标签上的点击直接定向到元素本身(对于像复选框这样的微小控件非常有帮助)。 此外,您还为使用屏幕阅读器或其他辅助功能的人们提供有用的帮助。

您不应使用

来实际标记元素。 然而,对于辅助帮助文本,它们可能会很有用。 但恕我直言,您应该在可能且合理的情况下坚持使用 HTML 的语义功能。 我眼中的情况就是这样。

The proper way to provide a label to a form element is to use <label>:

Some form controls automatically have labels associated with them (press buttons) while most do not (text fields, checkboxes and radio buttons, and menus).

For those controls that have implicit labels, user agents should use the value of the value attribute as the label string.

The <label> element is used to specify labels for controls that do not have implicit labels

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.

温柔一刀 2024-08-08 17:23:06

标签最适合辅助功能(选项卡顺序、屏幕阅读器等)

查看更多信息:
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

栀梦 2024-08-08 17:23:06

我更喜欢这个:

<label for="myInput">My Label</label> 
<input type="textbox" name="MyInput" value="" />

看看 Phil Haack< /a> 认为...

I tend to prefer this:

<label for="myInput">My Label</label> 
<input type="textbox" name="MyInput" value="" />

Take a look at what Phil Haack thinks...

油饼 2024-08-08 17:23:06

最好的方法是这个:

<label for="anInput">This is the input</label> 
<input type="text" name="anInput" />

这对于复选框来说特别有趣。 如果您单击标签,它将选中/取消选中该复选框。 如果您单击输入字段的标签,它将选择它。

该标签定义了一个标签
输入元素。

标签元素不会呈现为
对用户来说有什么特别的。
然而,它提供了一种可用性
对鼠标用户的改进,因为
如果用户单击其中的文本
标签元素,它切换
控制。

标签的for属性
应该等于 id 属性
绑定它们的相关元素
一起。

通过

The best way is this one :

<label for="anInput">This is the input</label> 
<input type="text" name="anInput" />

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.

The tag defines a label for an
input element.

The label element does not render as
anything special for the user.
However, it provides a usability
improvement for mouse users, because
if the user clicks on the text within
the label element, it toggles the
control.

The for attribute of the tag
should be equal to the id attribute of
the related element to bind them
together.

via

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文