关于 swiftui-wcag-accessibility-auditor
用于审查原生 iOS SwiftUI 功能的代码审计技能,结合 WCAG 2.2 对照与针对性修复建议。审计不运行应用,并对无法从源码确认的事项标注后续验证。
主要功能
- 01WCAG 2.2 条款映射与证据
- 02按优先级整理发现及状态
- 03可直接应用的 SwiftUI 修复片段
- 04针对不确定结果提供人工检查
适用场景
- 01检查 SwiftUI 结账流程的无障碍问题
- 02按 WCAG 2.2 审计 iOS 界面
- 03整理优先修复项和用户验证步骤
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ramzesenok/ ios-accessibility-audit-skill --skill swiftui-wcag-accessibility-auditor安装后在 Claude Code 中输入/swiftui-wcag-accessibility-auditor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/ios-accessibility-api-examples.mdios-audit-checklist.mdios-audit-workflow.mdswiftui-manual-checklist.mdswiftui-remediation-guide.mdwcag2mobile-ios-reference.md详细介绍
SwiftUI WCAG 无障碍审计器
概述
通过双模式审计 SwiftUI iOS 功能:
- WCAG 驱动的覆盖范围和证据(
哪些内容不符合 / 哪些内容尚不确定 / 原因) - 可直接用于 SwiftUI 修复的建议(
如何以最少的代码改动进行修改)
将此视为代码审计。不要运行应用。如果无法通过源代码证明某项结论,请将其标记为 Needs user verification,并添加具体的用户后续检查步骤。
何时使用此技能与相关技能
在同时需要以下内容时,使用此合并技能:
- WCAG 2.2 映射 / 可追溯性,以及
- SwiftUI 专属修复 / 代码片段
以下情况优先使用其他技能:
mobile-accessibility-audit:功能可能包含UIKit,或者你只需要以标准为先的审计覆盖范围swiftui-accessibility-auditor:你需要快速进行仅针对 SwiftUI 的启发式审查,无需 WCAG 可追溯性
加载顺序
- 阅读
references/ios-audit-workflow.md,了解仅基于代码的审计流程、状态、证据规则和基准报告格式。 - 阅读
references/ios-audit-checklist.md,了解 WCAG 成功准则(SC)的覆盖优先级和代码信号。 - 解读移动端特定的适用性或准则草案的成熟度时,阅读
references/wcag2mobile-ios-reference.md。 - 阅读
references/ios-accessibility-api-examples.md,从 SwiftUI 部分开始。 - 阅读
references/swiftui-remediation-guide.md,了解修复策略、非目标、优先级模型和 SwiftUI 修复模式。 - 仅在生成用户后续检查或最终手动验证清单时,使用
references/swiftui-manual-checklist.md。
范围规则
- 仅审计原生 iOS SwiftUI 代码。
- 仅审计会影响 SwiftUI 功能的
UIViewRepresentable/UIViewControllerRepresentable桥接。 - 如果功能将核心行为委托给 UIKit,请说明这一点,并缩小审计范围或建议使用
mobile-accessibility-audit。 - 不要将范围扩展到 macOS、watchOS、Web 或非 SwiftUI 实现。
审计执行(合并工作流)
- 定义范围内的功能流程和屏幕 / 状态。
- 确定该功能的 SwiftUI 入口视图及相关子视图。
- 执行 WCAG 检查清单(
ios-audit-checklist.md),并记录带有状态的证据。 - 使用 SwiftUI API 示例,避免误报并识别缺失的语义信息。
- 使用
swiftui-remediation-guide.md生成可直接用于修复的建议。 - 生成 Markdown 报告,其中包含:
- 按优先级排列的发现(
P0、P1、P2) - 每项发现对应的 WCAG SC 映射
- 每项发现中嵌入可直接用于修复的代码片段
- 用户后续检查(仅针对无法通过代码确定的项目)
- 按优先级排列的发现(
输出格式(严格、简洁)
保持简洁。严格使用以下结构。
规则:
- 按优先级使用顶级标题对发现分组:
# Findings - P0、# Findings - P1、# Findings - P2 - 省略没有内容的优先级分组。
- 在同一发现部分中放入代码片段,不要单独设置代码片段部分。
- 除非用户明确要求,否则省略 WCAG 覆盖矩阵。
- 仅当歧义会实质性影响审计时,才添加
# Scope / Assumptions。 - 仅当存在
Needs user verification项目时,才添加# User Follow-Up Checks。
每项发现的模板:
# Findings - P1
## 1. <Problem name>
- **What**: <problem description with code evidence>
- **Where**: <file path + line(s)>
- **Fix suggestion**: <suggested fix in words>
- **WCAG**: <SC # - Title (Level)>
```swift
// patch-ready snippet
```
备注:
- 适用时,在
*What*中包含Confidence(例如:Likely issue (confidence: medium))。 - 代码片段应精简,并直接适用于所引用的代码路径。
- 如果不适合提供代码片段,请在
*Fix suggestion*中说明原因(少见)。
实用搜索指南(优先使用 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,了解如何解读相关模式。
示例请求
Use $swiftui-wcag-accessibility-auditor to audit this SwiftUI checkout feature against WCAG 2.2 and return prioritized findings with patch-ready fixes in the strict finding format.Use $swiftui-wcag-accessibility-auditor to review this SwiftUI login + OTP flow for accessible authentication (3.3.8) and suggest minimal code changes.Use $swiftui-wcag-accessibility-auditor to audit this settings screen and produce user follow-up checks only for contrast, target size, and VoiceOver announcement timing.
资源
references/ios-audit-workflow.md:仅基于代码的审计流程、状态、证据质量规则和报告结构。references/ios-audit-checklist.md:iOS WCAG 清单和 SC 覆盖优先级。references/wcag2mobile-ios-reference.md:整理后的移动端解读参考(提炼自 WCAG2Mobile/WCAG2ICT,供 iOS 审计使用)。references/ios-accessibility-api-examples.md:SwiftUI + UIKit API 示例(此技能中优先使用 SwiftUI 部分)。references/swiftui-remediation-guide.md:SwiftUI 补丁策略、非目标、优先级和修复模式。references/swiftui-manual-checklist.md:用于后续检查的精简用户手动验证清单。
评论
支持 Markdown