perspective-audit
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePerspective Audit
视角审计
Deep-layer accessibility review for perspectives escalated to MEDIUM or HIGH by the a11y-planner or a11y-critic. This skill reads the JTBD checklists only for the escalated perspectives, applies severity calibration, routes findings by ARRM role, and splits code-level findings from content-level flags.
This is Layer 2 in a hybrid accessibility architecture:
- Layer 1: a11y-planner and a11y-critic produce alarm levels (LOW / MEDIUM / HIGH) per perspective as lightweight hints.
- Layer 2 (this skill): Runs the full JTBD checklist only for perspectives at MEDIUM or HIGH. Perspectives at LOW are not reviewed.
针对被a11y-planner或a11y-critic标记为MEDIUM(中等)或HIGH(高)级别的视角进行深度无障碍审查。该Skill仅读取被升级视角的JTBD检查表,应用严重性校准,按ARRM角色分配发现问题,并区分代码层面问题与内容层面标记。
这是混合无障碍架构中的第2层:
- 第1层:a11y-planner和a11y-critic针对每个视角生成警报级别(LOW/ MEDIUM/ HIGH),作为轻量化提示。
- 第2层(本Skill):仅对标记为MEDIUM或HIGH的视角执行完整JTBD检查表。标记为LOW的视角不进行审查。
When to Use
使用场景
Invoke this skill when:
- a11y-planner or a11y-critic outputs a perspective alarm at MEDIUM or HIGH
- You need granular, per-perspective findings with WCAG citations and ARRM routing
- A design review surfaces concern about a specific access dimension (motion, contrast, auditory, cognitive) that warrants a dedicated checklist pass
Do not use this skill to review perspectives the planner/critic rated LOW. Evidence over assertion — this skill only fires where the risk signal exists.
在以下场景调用该Skill:
- a11y-planner或a11y-critic输出的视角警报为MEDIUM或HIGH级别
- 你需要带有WCAG引用和ARRM分配的细粒度、按视角划分的问题结果
- 设计审查中发现特定无障碍维度(动效、对比度、听觉、认知)存在问题,需要专门执行检查表
请勿使用本Skill审查被规划器/审查器评为LOW级别的视角。基于证据而非断言——本Skill仅在存在风险信号时触发。
The 7 Perspectives
7个无障碍视角
| # | Perspective | WCAG Criteria (AA) |
|---|---|---|
| 1 | Magnification & Reflow | 1.4.4, 1.4.10, 1.4.12, 1.4.13, 2.4.11 |
| 2 | Environmental Contrast | 1.3.3, 1.4.1, 1.4.3, 1.4.11 |
| 3 | Vestibular & Motion Sensitivity | 2.2.2, 2.3.1, 2.5.4 |
| 4 | Auditory Access | 1.2.1, 1.2.2, 1.2.3, 1.2.5, 1.4.2 |
| 5 | Keyboard & Motor Access | 1.3.4, 2.1.1, 2.1.2, 2.4.1, 2.4.3, 2.4.7, 2.4.13, 2.5.1, 2.5.2, 2.5.3, 2.5.7, 2.5.8 |
| 6 | Screen Reader & Semantic Structure | 1.1.1, 1.3.1, 1.3.2, 2.4.2, 2.4.4, 2.4.6, 3.1.1, 3.1.2, 3.3.1, 3.3.2, 4.1.2, 4.1.3 |
| 7 | Cognitive & Neurodivergent | 1.3.5, 2.2.1, 2.4.5, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.6, 3.3.3, 3.3.4, 3.3.7, 3.3.8 |
| 序号 | 视角 | WCAG 标准(AA级) |
|---|---|---|
| 1 | 放大与重排 | 1.4.4, 1.4.10, 1.4.12, 1.4.13, 2.4.11 |
| 2 | 环境对比度 | 1.3.3, 1.4.1, 1.4.3, 1.4.11 |
| 3 | 前庭与动效敏感度 | 2.2.2, 2.3.1, 2.5.4 |
| 4 | 听觉无障碍 | 1.2.1, 1.2.2, 1.2.3, 1.2.5, 1.4.2 |
| 5 | 键盘与操作无障碍 | 1.3.4, 2.1.1, 2.1.2, 2.4.1, 2.4.3, 2.4.7, 2.4.13, 2.5.1, 2.5.2, 2.5.3, 2.5.7, 2.5.8 |
| 6 | 屏幕阅读器与语义结构 | 1.1.1, 1.3.1, 1.3.2, 2.4.2, 2.4.4, 2.4.6, 3.1.1, 3.1.2, 3.3.1, 3.3.2, 4.1.2, 4.1.3 |
| 7 | 认知与神经多样性 | 1.3.5, 2.2.1, 2.4.5, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.6, 3.3.3, 3.3.4, 3.3.7, 3.3.8 |
Severity Calibration
严重性校准
| Severity | When to Apply |
|---|---|
| CRITICAL | Blocks access entirely — keyboard trap, no captions on speech video, CAPTCHA with no alternative |
| MAJOR | Significant barrier for the perspective's user group — contrast below 3:1, motion without prefers-reduced-motion, missing error association |
| MINOR | Degrades experience but workaround exists — suboptimal label text, jargon defined nearby, help location slightly inconsistent |
| ENHANCEMENT | AAA criterion — report but do not escalate to MAJOR/CRITICAL regardless of implementation gap |
| 严重性 | 适用场景 |
|---|---|
| CRITICAL(严重) | 完全阻碍访问——键盘陷阱、语音视频无字幕、无替代方案的CAPTCHA |
| MAJOR(主要) | 对该视角用户群体造成显著障碍——对比度低于3:1、未适配prefers-reduced-motion的动效、缺失错误关联 |
| MINOR(次要) | 影响体验但存在替代方案——标签文本不够优化、术语在附近有定义、帮助位置略有不一致 |
| ENHANCEMENT(优化) | AAA级标准——无论实现差距如何,仅报告不升级为MAJOR/CRITICAL |
Steps
步骤
Step 1 — Confirm escalated perspectives
步骤1 — 确认被升级的视角
Read the planner or critic output to identify which perspectives are flagged MEDIUM or HIGH. List them explicitly before proceeding. If no escalation list is provided, ask: "Which perspectives did the planner or critic flag at MEDIUM or HIGH?"
Do not run checklists for perspectives at LOW.
读取规划器或审查器的输出,确定哪些视角被标记为MEDIUM或HIGH。在继续前明确列出这些视角。如果未提供升级列表,请询问:“规划器或审查器将哪些视角标记为MEDIUM或HIGH?”
请勿为标记为LOW的视角执行检查表。
Step 2 — Read reference files
步骤2 — 读取参考文件
Read both reference files at invocation:
- — Read only the sections for escalated perspectives. Do not load sections for LOW-rated perspectives.
.claude/skills/perspective-audit/references/perspectives.md - — Read in full for finding routing.
.claude/skills/perspective-audit/references/arrm-perspective-mapping.md
调用时读取以下两个参考文件:
- — 仅读取被升级视角对应的章节。请勿加载LOW级别视角的章节。
.claude/skills/perspective-audit/references/perspectives.md - — 完整读取以用于问题分配。
.claude/skills/perspective-audit/references/arrm-perspective-mapping.md
Step 3 — Read the artifact under review
步骤3 — 读取待审查工件
Read all source files relevant to the escalated perspectives. Understand the component structure, markup, CSS, and any JS handling state or interaction before running checklists.
读取与被升级视角相关的所有源文件。在执行检查表前,理解组件结构、标记、CSS以及任何处理状态或交互的JS代码。
Step 4 — Run per-perspective checklists
步骤4 — 执行按视角划分的检查表
For each escalated perspective:
- Work through the JTBD checklist from item by item.
references/perspectives.md - For each checklist item:
- Mark PASS if the implementation satisfies the criterion with evidence (file:line or observed markup).
- Mark FINDING if not satisfied — generate a finding using the format in Step 5.
- Mark N/A if the criterion does not apply (e.g., no video present for Auditory Access caption checks).
- Check all red flags listed for the perspective — any red flag that fires is automatically CRITICAL.
- Separate code-level findings (enforceable from source) from content-level findings (require human verification).
针对每个被升级的视角:
- 逐项执行中的JTBD检查表。
references/perspectives.md - 针对每个检查表项:
- 如果实现符合标准且有证据(文件:行号或观察到的标记),标记为PASS。
- 如果不符合,标记为FINDING——按照步骤5的格式生成问题记录。
- 如果标准不适用(例如,听觉无障碍的字幕检查中无视频),标记为N/A。
- 检查该视角列出的所有红色标记——任何触发的红色标记自动判定为CRITICAL。
- 区分代码层面问题(可通过源文件强制执行)与内容层面问题(需人工验证)。
Step 5 — Format each finding
步骤5 — 格式化每个问题记录
Use this format for every finding:
**Finding:** [clear description of what is wrong]
**WCAG:** [criterion number and name — e.g., 2.4.7 Focus Visible]
**Perspective:** [which perspective]
**Severity:** CRITICAL | MAJOR | MINOR | ENHANCEMENT
**Route to:** [ARRM primary role] (secondary: [role])
**Evidence:** [file:line citation or observed markup/CSS]
**Fix:** [specific recommended action]If the audit was invoked from an block, preserve these traceability fields in the finding when available:
A11y Evidence Finding**Finding ID:** [finding_id]
**Fingerprint:** [fingerprint]
**Source:** [source test, snapshot, axe rule, or critic finding]
**Trend:** new | persistent | worsening | improving | resolved
**Perspective alarms:** [incoming alarms and any updated alarm levels]When the incoming contract's evidence is journey-audit output (trace steps, deterministic findings, reading-order census): map its personas to alarms — findings feed , findings feed — and keep trace-step and census-selector citations intact through the audit. Batch-crawl 4.1.3 findings arrive as verification prompts, not failures; require driven-session evidence before treating a live-region defect as confirmed (calibration: ).
keyboard-a11y-testerkeyboardkeyboard_motorscreen-readerscreen_reader_semanticlive_announcementsevals/results/keyboard-a11y-tester/When the incoming contract's evidence is component-assertion output (spoken-phrase logs from the a11y-test component lane): findings feed only — never , because VSR interactions are synthetic. Keep the tool version + test file + exact-phrase citations intact through the audit. Silence is confirmable evidence only when the structural absence (no role/aria-live) is attached; a silent mount-with-content is inconclusive, and an empty entry marks an region clear (calibration: ).
virtual-screen-readerscreen_reader_semantickeyboard_motorrole="alert""polite: "aria-atomicevals/results/virtual-screen-reader/Perspective-audit may also emit a contract-compatible block for new CRITICAL or MAJOR findings discovered during the deep review:
undefined每个问题记录使用以下格式:
**问题:** [清晰描述问题内容]
**WCAG:** [标准编号及名称 — 例如:2.4.7 焦点可见]
**视角:** [所属视角]
**严重性:** CRITICAL | MAJOR | MINOR | ENHANCEMENT
**分配给:** [ARRM主要角色] (次要: [角色])
**证据:** [文件:行号引用或观察到的标记/CSS]
**修复建议:** [具体推荐操作]如果审计是从块调用的,在可用时保留这些可追溯字段:
A11y Evidence Finding**问题ID:** [finding_id]
**指纹:** [fingerprint]
**来源:** [源测试、快照、axe规则或审查器问题]
**趋势:** new | persistent | worsening | improving | resolved
**视角警报:** [传入警报及任何更新后的警报级别]当传入合约的证据是的旅程审计输出(跟踪步骤、确定性问题、阅读顺序统计):将其角色映射到警报——问题归入,问题归入——并在审计过程中保留跟踪步骤和统计选择器引用。批量抓取的4.1.3问题作为验证提示而非失败;在将实时区域缺陷确认为问题前,需要的驱动会话证据(校准参考:)。
keyboard-a11y-testerkeyboardkeyboard_motorscreen-readerscreen_reader_semanticlive_announcementsevals/results/keyboard-a11y-tester/当传入合约的证据是的组件断言输出(来自a11y-test组件通道的语音短语日志):问题仅归入——绝不归入,因为VSR交互是模拟的。在审计过程中保留工具版本+测试文件+精确短语引用。只有当存在结构缺失(无role/aria-live)时,静默状态才是可确认的证据;带有内容的组件静默加载无法定论,空的条目表示区域无问题(校准参考:)。
virtual-screen-readerscreen_reader_semantickeyboard_motorrole="alert""polite: "aria-atomicevals/results/virtual-screen-reader/视角审计还可能为深度审查中发现的新CRITICAL或MAJOR问题输出合约兼容块:
undefinedA11y Evidence Finding
A11y Evidence Finding
finding_id: [stable lowercase id]
fingerprint: [stable 8-64 char hex hash]
source: perspective-audit [perspective name] checklist
wcag_or_apg: [WCAG 2.2 criterion or WAI-ARIA APG pattern]
section_508_fpc_context: [Revised Section 508/WCAG 2.0 A-AA context if applicable, or "not in scope"]
severity: [CRITICAL | MAJOR | MINOR | ENHANCEMENT]
perspective_alarms: [perspective=LOW|MEDIUM|HIGH list]
evidence: [file:line, observed markup/CSS, or human-verification boundary]
reproduction_steps: [steps, command, or "source review only"]
expected_behavior: [expected user/AT behavior]
actual_behavior: [observed behavior]
trend: [new | persistent | worsening | improving | resolved]
Rules:
- Every finding must cite a WCAG criterion. No finding without a citation.
- AAA criteria are always ENHANCEMENT — never escalate them to MAJOR or CRITICAL.
- Content-level findings append: `[Human verification required — cannot be confirmed from source]`
- Code-level findings must include file:line evidence.
- Preserve ARRM routing even when using the contract block; the contract adds traceability, not ownership by itself.finding_id: [稳定小写ID]
fingerprint: [稳定8-64字符十六进制哈希]
source: perspective-audit [视角名称] checklist
wcag_or_apg: [WCAG 2.2标准或WAI-ARIA APG模式]
section_508_fpc_context: [适用的修订版Section 508/WCAG 2.0 A-AA上下文,或"not in scope"]
severity: [CRITICAL | MAJOR | MINOR | ENHANCEMENT]
perspective_alarms: [perspective=LOW|MEDIUM|HIGH列表]
evidence: [file:line、观察到的标记/CSS或人工验证边界]
reproduction_steps: [步骤、命令或"source review only"]
expected_behavior: [预期用户/AT行为]
actual_behavior: [观察到的行为]
trend: [new | persistent | worsening | improving | resolved]
规则:
- 每个问题记录必须引用WCAG标准。无引用的问题记录无效。
- AAA级标准始终归为ENHANCEMENT——绝不升级为MAJOR或CRITICAL。
- 内容层面问题需附加:`[需人工验证——无法通过源文件确认]`
- 代码层面问题必须包含文件:行号证据。
- 即使使用合约块,也要保留ARRM分配;合约仅添加可追溯性,不改变归属权。Step 6 — Compile the summary
步骤6 — 编译总结
After all escalated perspectives are reviewed, output the combined summary:
undefined完成所有被升级视角的审查后,输出合并总结:
undefinedPerspective Audit Summary
视角审计总结
Component/artifact reviewed: [name]
Perspectives escalated for deep review: [list]
Perspectives at LOW (not reviewed): [list]
审查的组件/工件: [名称]
升级为深度审查的视角: [列表]
LOW级别视角(未审查): [列表]
Findings by Severity
按严重性划分的问题数量
| Severity | Count |
|---|---|
| CRITICAL | N |
| MAJOR | N |
| MINOR | N |
| ENHANCEMENT | N |
| 严重性 | 数量 |
|---|---|
| CRITICAL | N |
| MAJOR | N |
| MINOR | N |
| ENHANCEMENT | N |
Perspectives That Passed
通过审查的视角
[List perspectives where all checklist items were PASS or N/A]
[列出所有检查表项均为PASS或N/A的视角]
Perspectives With Findings — Grouped by ARRM Role
存在问题的视角——按ARRM角色分组
Front-End Dev
- [Finding title] — [Perspective] — [Severity] — [WCAG criterion]
Visual Design
- [Finding title] — [Perspective] — [Severity] — [WCAG criterion]
UX Design
- [Finding title] — [Perspective] — [Severity] — [WCAG criterion]
Content Author
- [Finding title] — [Perspective] — [Severity] — [WCAG criterion]
前端开发
- [问题标题] — [视角] — [严重性] — [WCAG标准]
视觉设计
- [问题标题] — [视角] — [严重性] — [WCAG标准]
UX设计
- [问题标题] — [视角] — [严重性] — [WCAG标准]
内容作者
- [问题标题] — [视角] — [严重性] — [WCAG标准]
Open Questions Requiring Human Verification
需人工验证的未解决问题
[List all content-level findings that cannot be confirmed from source — caption accuracy, transcript completeness, audio description coverage, reading level, alt text quality for editorial images]
[列出所有无法通过源文件确认的内容层面问题——字幕准确性、转录完整性、音频描述覆盖范围、阅读水平、编辑图片的替代文本质量]
Recommended Next Step
建议下一步操作
[One of: PASS (no CRITICAL/MAJOR findings), REVISE (MAJOR findings present — address before shipping), BLOCK (CRITICAL findings present — do not ship until resolved)]
undefined[以下选项之一:PASS(无CRITICAL/MAJOR问题)、REVISE(存在MAJOR问题——发布前修复)、BLOCK(存在CRITICAL问题——修复前禁止发布)]
undefinedCompanion Skills
配套Skill
- a11y-planner: Layer 1 upstream — produces alarm levels that trigger this skill.
- a11y-critic: Layer 1 upstream — produces alarm levels that trigger this skill. Also reviews design decisions post-implementation.
- a11y-test: Run after findings are addressed — verifies fixes with automated scans and keyboard tests.
- a11y-planner: 上游第1层——生成触发本Skill的警报级别。
- a11y-critic: 上游第1层——生成触发本Skill的警报级别。还会在实现后审查设计决策。
- a11y-test: 问题修复后运行——通过自动化扫描和键盘测试验证修复效果。
Reference Files
参考文件
- — JTBD checklists, red flags, and evidence requirements for all 7 perspectives.
.claude/skills/perspective-audit/references/perspectives.md - — ARRM role routing decision tree and finding output format.
.claude/skills/perspective-audit/references/arrm-perspective-mapping.md
- — 所有7个视角的JTBD检查表、红色标记和证据要求。
.claude/skills/perspective-audit/references/perspectives.md - — ARRM角色分配决策树和问题输出格式。
.claude/skills/perspective-audit/references/arrm-perspective-mapping.md