html - 形式中的语义用法
问题描述
根据HTML5 医生:
标签代表用户界面中的标题。标题可以与特定的表单控件相关联,称为标签元素的标签控件,可以使用 for 属性,也可以将表单控件放在标签元素本身中。
因此,将其放入带有单选按钮的上下文中。在要求您在表单中选择最喜欢的水果的示例中,如果我说标签“Apple”是<label>
其单选按钮,为了使标签可点击,我会将单选控件放在里面,例如:
<label>
<input type="radio" name="fruit" value="apple"/> Apple
</label>
而且由于<label>
他们示例中的元素也显示为整个输入值的标签,这显示了我的问题“你最喜欢的水果?” 进入标签,从而使整个部分都充满标签?
<label>Your favourite fruit?</label>
<label>
<input type="radio" name="fruit" value="apple"/> Apple
</label>
<label>
<input type="radio" name="fruit" value="banana"/> Banana
</label>
<label>
<input type="radio" name="fruit" value="watermelon"/> Watermelon
</label>
那是对的吗?
然后在他们的示例中包含问题的for
第一个属性也<label>
指的id
是元素的。但是我不能这样做,因为我有 3 个元素,所以这意味着我不可能使用该for
属性?
解决方案
解决此问题的语义方法是将单选按钮与 fieldset 元素组合在一起。
<fieldset>
<legend>Your favourite fruit?</legend>
<label>
<input type="radio" name="fruit" value="apple"/> Apple
</label>
<label>
<input type="radio" name="fruit" value="banana"/> Banana
</label>
<label>
<input type="radio" name="fruit" value="watermelon"/> Watermelon
</label>
</fieldset>
W3C 的可访问性教程: https : //www.w3.org/WAI/tutorials/forms/grouping/ 和 MDN 的 Fieldset 文章:https ://developer.mozilla.org/en-US/建议使用这种方法来处理您的场景文档/Web/HTML/元素/字段集
可以使用 CSS 改进字段集的默认呈现。一个例子在这里https://design-system.service.gov.uk/components/radios/
推荐阅读
- php - 如何在 BigQuery php API (https://github.com/googleapis/google-cloud-php-bigquery) 中通过参数设置分区和集群
- python - 如果组在指定列表中,如何根据组对组的值求和?
- javascript - 使用带有firestore的异步函数返回未定义的数组
- c - GCC 优化魔法
- c# - C# Entity Framework 代码首先无法将相关数据添加到对象列表中
- mysql - 任何自动化 mySQL 查询验证的好工具?
- html - 如何使一些图像显示在带有文本的 div 下?
- vmware-clarity - 如何使用清晰的库迁移到 Angular 10?
- python - 如何将多个 .pcd 文件组合成一个包含点云数据(python)的 .pcd 文件?
- r - 在 R 中计算月份数