AI 辅助无障碍检查:读屏顺序要和视觉顺序一致
一、可访问性不是最后补丁
无障碍问题经常在上线前才被发现:读屏读不到按钮含义,键盘焦点跳到奇怪位置,弹窗打开后背景内容仍然可达,错误提示只靠红色表达。AI 可以辅助检查这些问题,但前提是把可访问性当成设计和工程的一部分。
读屏顺序和视觉顺序一致,是很多界面可用性的基础。
二、检查语义结构
flowchart TD A[页面 DOM] --> B[标题结构] A --> C[表单标签] A --> D[按钮语义] A --> E[焦点顺序] A --> F[错误提示]AI 可以读取 DOM、截图和交互路径,辅助发现视觉可见但语义缺失的元素。图标按钮尤其要检查,因为它们视觉上很明确,读屏却可能只读出“按钮”。
<button aria-label="关闭弹窗"> <CloseIcon /> </button>语义结构清楚,辅助技术才能正确理解页面。
三、读屏顺序要模拟用户任务
只跑自动化规则还不够。读屏用户完成任务时,会按标题、地标、表单控件和按钮逐步导航。如果 DOM 顺序和视觉顺序差异太大,用户会迷路。
screen_reader_flow: landmark_order: valid heading_order: valid focus_order_matches_visual: true error_announced_after_submit: trueCSS Grid、flex order、绝对定位都可能让视觉顺序和 DOM 顺序不一致。布局越自由,越要检查阅读路径。
四、AI 输出要可修复
AI 辅助检查不要停留在“存在可访问性风险”。它应该指出控件、风险、影响用户和修复方式。例如缺少 label 的输入框,应给出关联 label 或 aria-labelledby 的建议。
a11y_finding: element: search_input issue: missing_accessible_name impact: screen_reader_cannot_identify_purpose fix: bind_visible_label还要检查动态内容。加载完成、表单错误、保存成功、列表刷新,这些变化如果没有通知,读屏用户可能不知道页面已经改变。
最后,无障碍检查应进入组件级测试。每个基础组件先保证语义正确,业务页面再组合使用,成本会低很多。靠页面末端补 aria,往往越补越乱。
颜色和动效也要纳入检查。错误提示不能只依赖红色,成功状态不能只靠绿色,重要反馈不能只靠一闪而过的动画。对比度、文本说明和状态图标要相互补充。
accessible_feedback: not_color_only: true contrast_checked: true motion_reduced: true text_alternative: required表单场景尤其要细。提交失败后,焦点应移动到第一个错误区域或错误摘要,错误信息要和输入框关联,用户修正后状态要及时更新。AI 检查如果只扫静态 DOM,会漏掉这些交互过程。
最后,团队可以保留一组无障碍回归路径:打开弹窗、填写表单、触发错误、键盘提交、读屏确认反馈。每次组件升级都跑一遍,比上线前临时补救可靠得多。
检查结果还要分清阻断级别。无法完成主流程的问题必须阻断发布,轻微文案优化可以进入后续迭代。分级明确后,无障碍就不会被误解成“上线前再美化一下”。
五、总结
AI 辅助无障碍检查要覆盖语义结构、焦点顺序、读屏路径、动态通知和可修复建议。
读屏顺序要和视觉顺序一致。界面被看见,也要能被正确理解。