Html 什么';这是“什么?”;至于;在标签标签中?

Html 什么';这是“什么?”;至于;在标签标签中?,html,forms,usability,Html,Forms,Usability,刚刚在HTML标签标记中遇到了for参数: <label for="required-firstname"> First Name </label> <small>*</small> <input name="required-firstname" type="text" tabindex="2" id="required-firstname" size="24" maxlength="40"> 名字 * 我正在将这

刚刚在HTML标签标记中遇到了
for
参数:

<label for="required-firstname"> First Name </label>
<small>*</small>
<input name="required-firstname" type="text" tabindex="2" 
       id="required-firstname" size="24" maxlength="40">
名字
*
我正在将这个表单转换为一个PHP处理的脚本,我可以去掉for=参数吗?
(出于好奇,它做了什么?

它将标签与表单元素id绑定。某些表单元素(如复选框)可以通过单击其标签来激活。

来自w3schools.org:

标记定义了输入元素的标签

label元素不会呈现为用户的任何特殊元素。但是,它为鼠标用户提供了可用性改进,因为如果用户单击label元素中的文本,它将切换控件

标记的for属性应该等于相关元素的id属性,以便将它们绑定在一起


将my$.02添加为可访问性SME-以及可用性,标签还将输入字段与正确的标签相关联,以便使用屏幕阅读器的人知道该字段的用途。

在某些浏览器中,当您单击for标记中的文本时,您将选中它关联的框(即for=id)或者把焦点放在那个盒子上。这是ADA的东西

HTML标签标签定义表单元素的标签。它们通常与复选框和单选按钮一起使用,当用户单击标签时,它会切换按钮。对于文本输入(您必须对此进行检查以确保),我认为它仅在用户单击标签时才将焦点放在输入上。

它指定标签绑定到哪个元素。在示例代码中,标签位于所需名字输入字段的。如果用户单击该标签,焦点将转到绑定的输入字段。这是一个可用性的改进,我认为你最好还是保持原样。这是一个很好的实践。

属性“for”是表单可访问性的必要元素。不要忽略它。对于使用屏幕阅读器(SR)向其发布网页的用户,“For”属性将控件与标签相关联。通常,SR用户将在表单中从一个控件(SR的可聚焦元素)切换到下一个控件。如果没有“for”属性,SR用户将不得不更改SR上的模式,并在表单周围进行探测,以尝试确定哪个控件与哪个标签匹配,这可能会非常耗时和混乱。“for”属性也可用于与运动问题相关的辅助技术


WebAIM.org有一个很好的页面,解释了“for”的可访问性分支:

+1
如果用户单击标签元素中的文本,它将切换控件。
这是制作自定义复选框和单选按钮的一个重要部分。