0Pricing
Web Accessibility Academy · 课时

将焦点移到第一个错误

引导用户直接处理必须修正的问题。

将焦点移到第一个错误 是 CoddyKit 上的免费 Web Accessibility Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Web Accessibility Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Web Accessibility Academy 课程共包含 4 节课。

提交后毫无察觉

用户提交表单后,页面在顶部显示错误,但焦点仍停留在按钮上。他们完全不知道有什么失败了。😕

将焦点移到问题处

提交失败时,请将 焦点移到第一个无效字段。用户会准确落在开始修正的位置,无需自行寻找。

在 JS 中使用 focus

找到第一个验证失败的控件,并调用它的 focus()。这样,键盘用户和屏幕阅读器用户都能从正确的位置开始。

const first = form.querySelector("[aria-invalid='true']");
if (first) first.focus();

播报名称、类型和错误

焦点到达该字段时,屏幕阅读器会一次播报字段名称、字段无效以及相关的错误说明。

第一个,而不是随机一个

请始终定位文档顺序中的第一个错误。跳到后面的字段会漏掉用户仍需处理的问题。

不要只滚动页面

将错误滚动到可视区域有助于鼠标用户,但键盘用户和屏幕阅读器用户需要真正移动焦点,而不只是移动页面内容。

摘要框很有帮助

错误较多时,请先将焦点放到顶部的错误摘要上。将每个问题列为链接,点击后跳转到对应字段。

<div tabindex="-1" id="errors">
  3 errors found
</div>

让摘要可以聚焦

标题或 div 默认无法聚焦。请添加 tabindex="-1",这样脚本就能以编程方式将焦点移到它上面。

将错误链接到字段

在摘要中,每一项都是指向字段 id 的链接。激活链接后,焦点会直接移到出错的输入字段。

<a href="#email">Email is required</a>

避免过早夺取焦点

只应响应用户的提交来移动焦点,不要在每次按键时都移动。用户输入过程中焦点突然被拉走,会令人困惑且不舒服。

确认恢复成功

用户修正所有问题并重新提交后,请将焦点移到成功消息上,让他们听到操作终于成功。

快速检查

表单提交失败时,焦点应该移到哪里?

回顾

失败时,将焦点移到第一个无效字段或可聚焦的错误摘要;验证通过后,则将焦点移到成功消息。✅

常见问题解答

「将焦点移到第一个错误」课时是免费的吗?

是的 — 「将焦点移到第一个错误」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Web Accessibility Academy 课程的其余内容,请升级到 CoddyKit PRO。 Web Accessibility Academy 课程共包含 4 节课。

「将焦点移到第一个错误」这节课中我会学到什么?

引导用户直接处理必须修正的问题。 你通过在浏览器中直接运行的动手代码来练习 Web Accessibility Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Web Accessibility Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Web Accessibility Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「将焦点移到第一个错误」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Web Accessibility Academy 课中编写并运行代码吗?

能。每节 Web Accessibility Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 aria-describedby 将错误关联到字段
  2. 使用 aria-invalid 标记无效状态
  3. 将焦点移到第一个错误
  4. 内联、失去焦点时还是提交时:时机很重要
← 返回 Web Accessibility Academy