html - 为什么 HTML 元素(input、textarea 和 select)应该有关联的标签?
问题描述
谁能解释一下为什么 ( input
, textarea
, 和select
) 应该有一个相关的标签?
我找到了一个stackoverflow线程(我应该将输入元素放在标签元素中吗?),它解释了所有关联<input>
和的方式<label>
,但我没有找到任何关于为什么必须关联标签的明确解释。
例子
WebStorm (IDE) 为此代码中的输入生成“缺少关联标签”警告:
<div>
<input type="text" id="search" name="search">
<button id="logout" name="logout">Logout</button>
</div>
应用自动更正为输入添加标签:
<div>
<label>
<input type="text" id="search" name="search">
</label>
<button id="logout" name="logout">Logout</button>
</div>
没有标签的 HTML 可以正常工作,那么我为什么要添加它呢?
解决方案
相关标签用于辅助功能。因此,例如,当您在网站上运行 lightouse Chrome 检查时,它会在其报告的“可访问性”部分指出缺少的标签。原因:
“标签确保表单控件被屏幕阅读器等辅助技术正确宣布”。
因此,当您的网站可能被无法正确阅读或查看内容并需要屏幕阅读器的残障人士访问时,拥有它们是一件好事。
推荐阅读
- javascript - Multiple Scripts or one? Can it suport duplicates?
- r - Extracting part of string based on two conditions
- spring-boot - 将事件发布到 Saga 时没有具有实际事务的 EntityManager
- sql - Self join a table
- java - 连接可选列表
- r - 通过主题在ggplot中定义默认图形大小
- javascript - Table filter based on date drop down list
- java - 头在java链接列表中被删除
- google-apps-script - 谷歌脚本没有屏蔽谷歌文档
- java - 带有like和in的Spring Boot JPA @Query