百科狗-知识改变命运!
--

- 标注 - html5 表单

梵高12个月前 (11-21)阅读数 19#技术干货
文章标签元素

HTML 元素(标签)表示用户界面中某个元素的说明。

浏览器支持

目前大多数浏览器支持标签。

示例

click me 

标签定义及使用说明

  • 标签为 input 元素定义标注(标记)。
  • 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
  • for属性可把 label 绑定到另外一个元素。请把for属性的值设置为相关元素的id属性的值。

将一个和一个元素放在一起会有以下几点好处:

  • 标签文本不仅与其相应的文本输入在视觉上相关联;它也以编程方式与它相关联。这意味着,当用户点击到表单输入时,屏幕阅读器可以读出标签,使在使用辅助技术的用户更容易理解应输入哪些数据.
  • 你可以单击关联的标签来聚焦或者激活 input,以及 input 本身。这种增加的命中区域为激活 input 提供了方便,包括那些使用触摸屏设备的。

想要将一个和一个元素匹配在一起,你需要给一个id属性。而需要一个for属性,其值和 input 的id一样。

另外,你也可以将直接放在里,这种情况就不需要forid属性了,因为这时关联是隐含的:

do you like peas? 

其他使用事项:

  • 标签标记的表单控件称为标签元素的标签控件。一个 input 可以与多个标签相关联。
  • 标签本身并不与表单直接相关。它们只通过与它们相关联的控件间接地与表单相关联。
  • 当点击或者触碰(tap)一个与表单控件相关联的时,关联的控件的click事件也会触发。

属性

该元素包含全局属性.

  • for可标记的 form 相关元素的id,在同一文档中作为label元素。第一个这样的元素在文档中有一个ID匹配属性值,作为这个label元素的labeled control注意:label元素可同时有属性和包含控件元素(contained control element),只要此属性指向包含控件元素。
  • form表示label元素关联的form元素(它的表单拥有者)。此属性值必须是同一文档中元素的ID。如果未指定此属性值,元素必须是元素的后代。应用此属性值,你可以将label元素放置在文档的任何位置,而不仅仅是作为它的拥有者元素的后代。
属性描述
forelement_id规定 label 与哪个表单元素绑定。
form HTML5新增form_id规定 label 字段所属的一个或多个表单。

Technical summary

Content categories流式内容元素,段落内容元素,交互内容元素,form-associated element,段落内容元素.
Permitted content段落内容元素, but no descendantlabelelements. No labelable elements other than the labeled control are allowed.
Tag omission不允许,开始标签和结束标签都不能省略。
Permitted parents可接受的任何元素段落内容元素.
Permitted ARIA rolesNone
DOM接口HTMLLabelElement

HTML 4.01 与 HTML 5 之间的差异

"form"属性是 HTML5 的新属性。

全局属性

标签支持全局属性,查看完整属性表HTML全局属性。

事件属性

标签支持所有HTML事件属性。

实例

带有两个输入字段和相关标记的简单 HTML 表单:

male

female

可访问性问题

相互影响的内容

 - 标注 - html5 表单

不要在label元素内部放置会相互影响的元素,比如anchors,或者buttons。这样做会让用户更难激活/触发与label相关联的表单元素input

Don't

 i agree to the terms and conditions 

Do

 i agree to the terms and conditions 

read our terms and conditions

标题

在一个元素内部放置标题元素(heading elements)会干扰许多辅助技术,原因是标题通常被当成一个导航助手(a navigation aid)。若标签内的文本需要在视觉上做些调整,应该使用CSS伪类更改样式并应用到元素中。

若一个form元素,或者form元素中的一部分需要一个标题,此时应该使用元素做标题,并将它放在元素中。

Don't

 

your name

Do

 your name 

Buttons

元素若有着type="button"的宣告和有效的value属性,则不需要添加label.若添加了,则可能会干扰辅助技术如何解析button input.元素也同样。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)