html – 标签“for”和输入“id”

我目前正在为CMS的表单模块工作,以便我们的用户可以创建自己的表单以显示在他们的网站上,我正在尝试确保它们都可以通过标签等访问.

我的问题是,如果你有< label>对于< input>使用[for]属性链接到输入的[id],[id]是否必须实际意味着什么?它读了吗?或者它只是链接他们?

例如.

<label for="input1">Name</label>
<input id="input1" />

要么

<label for="name">Name</label>
<input id="name" />

这些在屏幕阅读器上会有相同或不同的结果吗?

解决方法

If you have a <label> for an <input> with a [for] attribute to link to the [id] of the input,does the [id] have to actually mean something?

浏览器语义*指的是浏览器如何识别DOM节点以及浏览器将向使用辅助导航的用户读取的内容.

[id]和[class]属性不会添加到语义中.在可能的情况下仍然使用描述性ID和类非常重要,但这只是为了使开发更容易.

Is it read?

不.据我所知,[id]属性永远不会通过网站的正常操作直接读给用户.请参阅下面有关文档片段标识符的说明.

Or is it just to link them?

它告诉标签< input> (或< select>或< textarea> …)标签标签,并且还提供一些UI功能,例如在单击,点击或以其他方式触发标签时将焦点移动到相关输入.

标记元素被聚焦时,浏览器将知道告诉屏幕阅读器读取与该元素相关联的标签.

那个[name]属性怎么样?

在< form>中屏幕阅读器不会读取[name]属性,因为它不表示任何语义,但是对于GET请求,[name]属性将用作查询字符串中的键.查询字符串可能会被读取给用户,因此值得考虑使用人类可读的[名称]而不是自动生成内容.

文档片段标识符怎么样?

如果您计划在页面上使用[id]到< a> nchor,那么当它成为URL的哈希值时,可以读取[id]属性的值.就像[name]属性一样,在这些情况下使用人类可读的[id]值得考虑.

*一个词的定义是有意义的,这使得讨论它自己的意义……困难和相当元

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些