mcpField
S
swiftui-wcag-accessibility-auditor

swiftui-wcag-accessibility-auditor

github.com/ramzesenok测试与质量1351 次安装34 周前更新
代码仓库

关于 swiftui-wcag-accessibility-auditor

用于审查原生 iOS SwiftUI 功能的代码审计技能,结合 WCAG 2.2 对照与针对性修复建议。审计不运行应用,并对无法从源码确认的事项标注后续验证。

主要功能

  1. 01WCAG 2.2 条款映射与证据
  2. 02按优先级整理发现及状态
  3. 03可直接应用的 SwiftUI 修复片段
  4. 04针对不确定结果提供人工检查

适用场景

  1. 01检查 SwiftUI 结账流程的无障碍问题
  2. 02按 WCAG 2.2 审计 iOS 界面
  3. 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.md
ios-audit-checklist.md
ios-audit-workflow.md
swiftui-manual-checklist.md
swiftui-remediation-guide.md
wcag2mobile-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 可追溯性

加载顺序

  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。

范围规则

  • 仅审计原生 iOS SwiftUI 代码。
  • 仅审计会影响 SwiftUI 功能的 UIViewRepresentable / UIViewControllerRepresentable 桥接。
  • 如果功能将核心行为委托给 UIKit,请说明这一点,并缩小审计范围或建议使用 mobile-accessibility-audit。
  • 不要将范围扩展到 macOS、watchOS、Web 或非 SwiftUI 实现。

审计执行(合并工作流)

  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。

每项发现的模板:

# 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