什么是焦点顺序可视化工具?
粘贴任意HTML代码,即可看到键盘Tab键的导航顺序。每个可聚焦元素上都会显示编号标记,方便你一眼发现导航问题。专为无障碍审计人员和开发者检查WCAG合规性而设计。
可视化工具能识别链接、按钮、表单输入框、文本域、下拉菜单、details/summary 折叠组件、contenteditable 区域,以及任何显式设置了 tabindex 的元素。每个可聚焦元素都会获得编号徽章和标记,区分位置来自 DOM 自然顺序还是 tabindex 强制覆盖。它还会给页面打出 0 到 100 的评分,标出缺少可访问名称的控件(即只有图标的按钮问题),并显示有多少交互元素根本无法通过 Tab 到达。分析结果可以导出为纯文本报告,或导出为结构化 CSV,用于归档和缺陷跟踪。
使用方法
- 将HTML代码粘贴到编辑器中,或上传HTML文件来检查Tab键顺序。
- 每个可聚焦元素(链接、按钮、输入框)上会显示编号标记,展示Tab键序列。
- 查看可访问性评分和问题面板,修复乱序、缺少名称或键盘无法到达的元素,然后将结果导出为文本报告或 CSV。
何时使用
- 页面提交 WCAG 2.1 AA 认证前的预审检查。
- 页面布局或组件重构之后排查 Tab 键顺序回归问题。
- 验证模态框或抽屉菜单是否正确捕获键盘焦点。
结果
一位无障碍顾问粘贴了客户的注册表单HTML。可视化工具抓到“提交”按钮比“服务条款”复选框更早获得焦点,原因是一个正数tabindex打乱了顺序。这就是一处WCAG 2.4.3违规。
常见问题
- tabindex 设置正整数是不是总是错的?
- 几乎总是错的。正整数 tabindex(1、2、3……)会把元素从 DOM 自然顺序中提出来,导致光标在页面里乱跳。请坚持用 tabindex="0" 让非交互元素可获焦,或用 tabindex="-1" 在保留程序化焦点的同时移出 Tab 键链。
- 列表里的「自然」和「自定义」是什么意思?
- 「自然」表示元素的 Tab 位置来自 HTML 源码中的位置。「自定义」表示正整数 tabindex 把它强行挪到了别的槽位。自定义位置会被特别标出,因为这是 WCAG 2.4.3 不通过的最常见原因。
- 隐藏的元素会出现在焦点顺序里吗?
- 如果元素是 display:none 或 visibility:hidden,浏览器本身就会跳过,可视化工具也不会显示。但 aria-hidden 单独使用并不能移除可聚焦性,这是常见 bug。列表会显示这类元素,矩形数据能帮你判断它们是否可见。
- 工具能检测模态框焦点未被捕获的问题吗?
- 工具显示的是顺序,不会告诉你焦点是否会从模态框溜出去。粘贴模态框打开状态的 HTML,看看第一个和最后一个可聚焦元素是不是都在对话框内部。如果 Tab 键跳到了 body 的其他内容,就说明焦点陷阱缺失。
- 为什么我期望可聚焦的元素没出现在列表里?
- 禁用的输入框、没有 href 的 anchor 标签、没设 tabindex 的 div 都会被跳过,因为浏览器本来就无法聚焦它们。如果 div 需要可达,加 tabindex="0";anchor 加上 href;input 移除 disabled 属性。