SuperAPI AI 工具集

swiftui-wcag-accessibility-auditor

测试与质量

查看项目

更新于 10-16 02:14

技能介绍

用途

SwiftUI WCAG Accessibility Auditor 用于审查 SwiftUI iOS 功能代码的无障碍性,对照 WCAG 2.2 Level A/AA 输出可打补丁的修复建议。它适用于需要同时获得 WCAG 2.2 映射/可追溯性与 SwiftUI 具体修复片段的场景。

它采用双重模式:一是 WCAG 驱动的覆盖与证据(哪些失败、哪些不确定、原因是什么);二是 SwiftUI 补丁就绪的修复(以最小代码改动给出需要修改的内容)。该技能将自身视为代码审计,不运行应用;如果某项结果无法从源码证明,会标记为 Needs user verification,并附上具体的用户后续检查。

与相邻技能的选择

当同时需要 WCAG 2.2 映射/可追溯性和 SwiftUI 专用修复/片段时,使用本合并技能。以下情况优先使用其他技能:

  • mobile-accessibility-audit:功能可能包含 UIKit,或只需要标准优先的审计覆盖。
  • swiftui-accessibility-auditor:需要快速、仅限 SwiftUI 的启发式审查,且不需要 WCAG 可追溯性。

使用方式

该技能给出读取顺序,涉及以下参考文件:

  1. references/ios-audit-workflow.md:仅代码审计流程、状态、证据规则和基线报告格式。
  2. references/ios-audit-checklist.md:WCAG SC 覆盖优先级和代码信号。
  3. references/wcag2mobile-ios-reference.md:在解释某准则的移动端适用性或草案成熟度时读取。
  4. references/ios-accessibility-api-examples.md:先读 SwiftUI 部分。
  5. references/swiftui-remediation-guide.md:补丁策略、非目标、优先级模型和 SwiftUI 修复模式。
  6. references/swiftui-manual-checklist.md:仅在生成用户后续检查或最终人工验证清单时使用。

审计执行(合并工作流):

  1. 定义范围内的功能流程和范围内的屏幕/状态。
  2. 识别该功能的 SwiftUI 入口视图和相关子视图。
  3. 运行 WCAG 清单(ios-audit-checklist.md)并记录带状态的证据。
  4. 使用 SwiftUI API 示例避免误报并识别缺失的语义。
  5. 使用 swiftui-remediation-guide.md 生成补丁就绪的修复建议。
  6. 产出 Markdown 报告,包含:按优先级(P0、P1、P2)排序的发现、每条发现的 WCAG SC 映射、每条发现内嵌的补丁就绪片段、用户后续检查(仅用于代码无法判定的项)。

输出格式有严格、简洁的要求:按优先级用顶级标题分组(# Findings - P0、# Findings - P1、# Findings - P2),省略空的优先级分组;代码片段放在同一条发现内(不单设片段章节);除非用户明确要求,否则省略 WCAG 覆盖矩阵;仅在歧义实质性影响审计时添加 # Scope / Assumptions;仅当存在 Needs user verification 项时添加 # User Follow-Up Checks。每条发现的模板包含 What(含代码证据的问题描述,必要时在 What 内标注置信度)、Where(文件路径+行号)、Fix suggestion(文字修复建议)、WCAG(SC 编号 - 标题(级别)),并在其下给出 SwiftUI 补丁片段。

范围与限制

  • 仅审计原生 iOS SwiftUI 代码。
  • 仅在 UIViewRepresentable / UIViewControllerRepresentable 桥接影响该 SwiftUI 功能时对其审计。
  • 如果功能把核心行为委托给 UIKit,应说明,并要么缩小审计范围,要么建议使用 mobile-accessibility-audit。
  • 不将范围扩大到 macOS、watchOS、web 或非 SwiftUI 实现。

搜索指引(SwiftUI 优先)

从功能路径开始,优先使用 SwiftUI 符号:

rg --files | rg '\.(swift)$'
rg -n "struct .*View: View|body: some View|NavigationStack|sheet\(|fullScreenCover\(" .
rg -n "accessibility(Label|Hint|Value|Hidden)|accessibility(AddTraits|RemoveTraits)|accessibilityElement\(|accessibilityFocused\(" .
rg -n "@AccessibilityFocusState|onTapGesture|DragGesture|lineLimit\(|minimumScaleFactor|dynamicTypeSize" .

随后查阅 references/ios-accessibility-api-examples.md 进行模式解读。

示例请求

  • 使用 $swiftui-wcag-accessibility-auditor 依据 WCAG 2.2 审计此 SwiftUI 结账功能,并按严格的发现格式返回带补丁就绪修复的优先级发现。
  • 使用 $swiftui-wcag-accessibility-auditor 审查此 SwiftUI 登录 + OTP 流程的无障碍身份验证(3.3.8),并建议最小代码改动。
  • 使用 $swiftui-wcag-accessibility-auditor 审计此设置屏幕,并仅针对对比度、目标尺寸和 VoiceOver 播报时机生成用户后续检查。

资源

  • references/ios-audit-workflow.md:仅代码审计流程、状态、证据质量规则和报告结构。
  • references/ios-audit-checklist.md:iOS WCAG 清单和 SC 覆盖优先级。
  • references/wcag2mobile-ios-reference.md:清理后的移动端解读参考(为 iOS 审计提炼的 WCAG2Mobile/WCAG2ICT)。
  • references/ios-accessibility-api-examples.md:SwiftUI + UIKit API 示例(本技能优先使用 SwiftUI 部分)。
  • references/swiftui-remediation-guide.md:SwiftUI 补丁策略、非目标、优先级和修复模式。
  • references/swiftui-manual-checklist.md:用于后续检查的紧凑用户人工验证清单。

其他平台、收费与定价信息暂未提供。