网页报错“Form elements must have labels”的处理

网页报错“Form elements must have labels”的处理

先给出错误现象源码:

<!DOCTYPE html> 
<html lang="zh">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" /> 
    <title>错误测试2</title>
</head>
<body">
    请输入文本<input type="text"/>
</body>
</html>

保存文件名为:错误发生2.html

顺便提示:打开浏览器开发工具(DevTools),可用下面方式之一:

按Ctrl+Shift+I(Windows、Linux)或 Command+Option+I (macOS)。

按 F12。

右键单击网页上的任何项,然后选择 “检查”。

用Microsoft Edge打开运行后,再按下F12键打开浏览器开发工具可查看到报错信息用浏览器打开,就会看到错误:

Form elements must have labels: Element has no title attribute Element has no placeholder attribute(表单元素必须具有标签:元素没有标题属性元素没有占位符属性)

特别说明,Microsoft Edge浏览器中有报错提示,这个报错提示不影响运行。使用Google Chrome和Firefox浏览器,没有报错提示。

原因及解决方法

在html中,<label>用于用户界面中某个元素的说明。<label>通常和<input>一起使用,<label> 的 for 属性应当与相关元素的 id 属性相同。

上面的“请输入文本<input type="text"/>”代码中,label元素使用不正确,因为label元素和input元素关联。要将label元素关联到特定的输入元素,请使用以下任一选项:

将input元素嵌套在label元素中。

在label元素中,添加与input元素的id属性(attribute)匹配的for属性——label标签中的for值等于input标签的id值。

当将label元素关联到特定的输入元素后,点击label标签里面的文字时,光标会定位在特定的输入元素中。

另外,使用input元素的placeholder属性,也能消除错误提示。

【参考:Axe Rules | Deque University | Deque Systems

对于本例,可将  请输入文本<input type="text" />  改为:

<label>请输入文本<input type="text"/></label>

<label for="abc">请输入文本</label> <input type="text" id="abc" />

请输入文本<input type="text" placeholder ="可在此输入文字" />

修改后源码如下:

<!DOCTYPE html> 
<html lang="zh">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" /> 
    <title>错误修改2</title>
</head>

<body">
<label for="abc">请输入文本</label> <input type="text" id="abc" />
</body>
</html>

再用 Microsoft Edge 中打开浏览器测试,No Issues(无问题)!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值