• html5中<label>标签的for属性使用方式方法详细分


    介绍的内容是html5中<label>标签的for属性使用方式方法详细分析。

    在freecodecamp上HTML教程的Create a Set of Radio Buttons这一节中,看到这样一段话,

    It is considered best practice to set a for attribute on the label element, with a value that matches the value of the id attribute of the input element. This allows assistive technologies to create a linked relationship between the label and the child input element.https:www.cqxftyyj.com

    大概的意思是:最好的做法,是给label标签,添加for属性,其值与input标签的id属性的值相同,以在label和input之间创建关联。

    同时,给出一段示例代码,如下:

    <!-- Code 1 -->
    <label for="indoor"> 
      <input id="indoor" type="radio" name="indoor-outdoor">Indoor 
    </label>

    代码中,label的for属性值与input的id属性值相同。从这段代码中,并不能看出关联在何处。

    关于label的for属性的定义如下:

    The for attribute specifies which form element a label is bound to.
    译文:for属性指定label与表单中的哪个元素进行绑定。

    示例代码:

    <!-- Code 2 -->
    <form action="/action_page.php">
      <input type="radio" name="gender" id="male" value="male">
      <label for="male">Male</label>
      <br>
      <input type="radio" name="gender" id="female" value="female">
      <label for="female">Female</label>
      <br>
      <input type="radio" name="gender" id="other" value="other">
      <label for="other">Other</label>
      <br>
      <input type="submit" value="Submit">
    </form>

    对比两段代码,不难发现,

    1. label与input标签的包含关系不同。Code 1 的label和input,属于包含关系,Code 2 的label和input相对独立。

    2. label与input在页面上的排列方式不同。通过Chrome的开发者工具不难发现,Code 1 的运行结果,label标签将input标签遮盖,Code 2 的运行结果,label标签与input标签并列。

    3. label与input一一对应。点击label的内容,对应的单端按钮都会被选中。

    如果,我们将两段代码中label的for属性删除,则之前的第1点和第2点不变,变化的是第3点。Code 1 的运营结果,点击label的内容,照旧能够选中单选按钮。而 Code 2 的则不同,点击label的内容,无法选中单选按钮。

    经过简单的代码运行结果对比,我们能够验证文章开头引用的那段话是正确的。为label添加for属性的这个做法,能够提高代码质量。

  • 相关阅读:
    人脸Pose检测:ASM、AAM、CLM总结
    AI:AI是什么?
    AI不与人为敌
    CMMI评估流程
    AI:恐怖谷理论的陷阱
    Christopher G. Atkeson 简介
    QtUI设计:设置控件透明
    QT设计UI:QT模式对话框打开文件
    SLAM:(编译ORB)fatal error LNK1181: 无法打开输入文件“libboost_mpi-vc110-mt-1_57.lib”
    error C3859: 超过了PCH的虚拟内存范围;请使用“-Zm33”或更大的命令行选项重新编译
  • 原文地址:https://www.cnblogs.com/zqw111/p/12928940.html
Copyright © 2020-2023  润新知