密码输入框必须用<input type="password">而非text,找回链接须紧邻密码框且为标签,URL需带ref参数,登录页密码框应设autocomplete="current-password"。

密码输入框必须用 <input type="password">,别手误写成 text
浏览器对 type="password" 有基础识别能力,能触发密码管理器自动填充、显示“显示/隐藏”小眼睛图标。如果错写成 type="text",即使加了 autocomplete="off",也拦不住用户手动复制粘贴明文密码,更无法唤起系统级密码建议——找回入口的体验就从第一步开始打折。
常见错误:
– 写成 <input type="text" name="pwd">
– 或为了“兼容旧浏览器”强行降级为 text + JS 模拟掩码(没必要,IE11 都支持 password)
找回链接必须放在 <input> 后紧邻位置,且用 <a> 而非按钮
语义和可访问性决定它得是链接:屏幕阅读器会读作“忘记密码?链接”,而按钮会被读作“按钮”,用户可能误以为点击会提交表单。位置太远(比如塞在表单底部或右侧浮层里)会导致视觉动线断裂,尤其移动端拇指操作时容易错过。
实操建议:
– 放在密码输入框下方、登录按钮上方,垂直对齐
– 文本用“忘记密码?”比“找回密码”更符合用户搜索直觉(百度指数高 3.2 倍)
– href 必须指向真实可用的找回页,别留空或写 # 占位
立即学习“前端免费学习笔记(深入)”;
Word报告自动生成神器。自动生成专业Word文档报告,支持模板填充、目录生成、表格/图表插入、页眉页脚、多级标题、样式主题、批量邮件合并。当用户需要生成Word报告、创建合同文档、批量生成通知/证书、填充Word模板、制作商业计划书时触发。
找回页 URL 要带来源标记,否则用户跳转后回不来
用户点“忘记密码?”跳转到 /reset-password,重置完理应返回原登录页——但如果没传 return_url 或 ref 参数,系统大概率默认跳首页,用户还得重新输账号,体验断层。
推荐做法:
– 登录页链接写成 <a href="/reset-password?ref=/login">忘记密码?</a>
– 或用 document.referrer 动态拼接(注意同源限制,跨域时 fallback 到固定路径)
– 后端重置成功后,302 跳转回带参数的原地址,而不是硬编码首页
别在密码框上加 autocomplete="new-password" 干扰找回流程
这个属性本意是告诉浏览器“这是新密码框,请勿自动填充”,但很多浏览器(尤其是 Safari 和旧版 Chrome)会把它和“密码重置页”强绑定,导致用户点“忘记密码?”后,密码管理器突然弹出“生成新密码”浮层,反而掩盖找回表单,引发误操作。
正确策略:
– 登录页的密码框用 autocomplete="current-password"
– 找回页的新密码框才用 autocomplete="new-password"
– 绝对不要在登录页密码框上滥用 new-password,它不解决安全问题,只制造干扰


















