多表单标签 - 灯箱
Multiple form labels - Lightbox
我正在编辑 html 网页可访问性代码,但我遇到了一个关于多表单标签的问题。我正在使用 Wave 插件来检查网络可访问性。
错误是
多表单标签
这是什么意思
一个表单控件关联了多个标签。
问题是有一个页面用户可以输入用户信息,并且弹出一个调用按钮,如果用户没有输入该字段,弹出窗口将再次显示所有相同的字段以进行注册。
有没有快速简便的方法来消除错误,而不是更改弹出窗口中字段的 ID?
引用 W3S :
The id attribute specifies a unique id for an HTML element (the value
must be unique within the HTML document).
是的,您需要为每个组件定义一个唯一的 ID。这是解决问题的唯一简洁方法,否则屏幕阅读器可能会在您聚焦其中一个输入字段时读取错误的标签。
除了更改 ID 之外,解决此问题的一种方法是将输入包装在标签中。
<label>
First Name
<input />
</label>
这在语义上是正确的,并且避免了需要 for
和相关输入 id
属性的标签。
你显然可能需要重构一些东西,这似乎比改变一些 ID 更辛苦,但这是一个选择(我知道你现在可能已经解决了这个问题,如果其他人,这更多是为了参考来到这个问题。)
参见:
我正在编辑 html 网页可访问性代码,但我遇到了一个关于多表单标签的问题。我正在使用 Wave 插件来检查网络可访问性。
错误是 多表单标签 这是什么意思 一个表单控件关联了多个标签。
问题是有一个页面用户可以输入用户信息,并且弹出一个调用按钮,如果用户没有输入该字段,弹出窗口将再次显示所有相同的字段以进行注册。
有没有快速简便的方法来消除错误,而不是更改弹出窗口中字段的 ID?
引用 W3S :
The id attribute specifies a unique id for an HTML element (the value must be unique within the HTML document).
是的,您需要为每个组件定义一个唯一的 ID。这是解决问题的唯一简洁方法,否则屏幕阅读器可能会在您聚焦其中一个输入字段时读取错误的标签。
除了更改 ID 之外,解决此问题的一种方法是将输入包装在标签中。
<label>
First Name
<input />
</label>
这在语义上是正确的,并且避免了需要 for
和相关输入 id
属性的标签。
你显然可能需要重构一些东西,这似乎比改变一些 ID 更辛苦,但这是一个选择(我知道你现在可能已经解决了这个问题,如果其他人,这更多是为了参考来到这个问题。)
参见: