axiom-accessibility
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAccessibility
Accessibility
You MUST use this skill for ANY accessibility work including VoiceOver, Dynamic Type, color contrast, WCAG compliance, and UX flow auditing.
任何无障碍(accessibility)相关工作都必须使用该skill,包括VoiceOver、Dynamic Type、色彩对比度、WCAG合规性以及UX流程审核。
Quick Reference
快速参考
| Symptom / Task | Reference |
|---|---|
| VoiceOver labels, hints, navigation | See |
| Dynamic Type scaling violations | See |
| Color contrast (WCAG AA/AAA) | See |
| Touch target sizes (< 44x44pt) | See |
| Keyboard navigation (iPadOS/macOS) | See |
| Reduce Motion support | See |
| Assistive Access (cognitive, iOS 17+) | See |
| Accessibility Inspector workflows | See |
| App Store Review preparation | See |
| UX dead ends, dismiss traps | See |
| Buried CTAs, missing empty states | See |
| Missing loading/error states | See |
| Deep link dead ends | See |
| Accessibility dead ends (gesture-only) | See |
| 症状/任务 | 参考文档 |
|---|---|
| VoiceOver标签、提示、导航 | 查看 |
| Dynamic Type缩放违规 | 查看 |
| 色彩对比度(WCAG AA/AAA) | 查看 |
| 触控目标尺寸(<44x44pt) | 查看 |
| 键盘导航(iPadOS/macOS) | 查看 |
| 减少动态效果支持 | 查看 |
| 辅助访问(认知障碍,iOS 17+) | 查看 |
| Accessibility Inspector工作流程 | 查看 |
| App Store审核准备 | 查看 |
| UX死胡同、关闭陷阱 | 查看 |
| 隐藏的CTA、缺失空状态 | 查看 |
| 缺失加载/错误状态 | 查看 |
| 深度链接死胡同 | 查看 |
| 无障碍死胡同(仅支持手势) | 查看 |
Decision Tree
决策树
dot
digraph accessibility {
start [label="Accessibility issue" shape=ellipse];
what [label="What type?" shape=diamond];
start -> what;
what -> "skills/accessibility-diag.md" [label="VoiceOver/labels/hints"];
what -> "skills/accessibility-diag.md" [label="Dynamic Type"];
what -> "skills/accessibility-diag.md" [label="color contrast"];
what -> "skills/accessibility-diag.md" [label="touch targets"];
what -> "skills/accessibility-diag.md" [label="keyboard nav"];
what -> "skills/accessibility-diag.md" [label="Reduce Motion"];
what -> "skills/accessibility-diag.md" [label="Assistive Access"];
what -> "skills/accessibility-diag.md" [label="App Store prep"];
what -> "skills/ux-flow-audit.md" [label="UX dead end/dismiss trap"];
what -> "skills/ux-flow-audit.md" [label="missing states"];
what -> "accessibility-auditor" [label="automated scan" shape=box];
}- ANY VoiceOver, Dynamic Type, contrast, touch target, or WCAG issue →
skills/accessibility-diag.md - Assistive Access (cognitive disabilities, iOS 17+) →
skills/accessibility-diag.md - App Store accessibility rejection →
skills/accessibility-diag.md - UX dead ends, dismiss traps, buried CTAs, missing states →
skills/ux-flow-audit.md - Want automated accessibility scan? → agent or
accessibility-auditor/axiom:audit accessibility
dot
digraph accessibility {
start [label="Accessibility issue" shape=ellipse];
what [label="What type?" shape=diamond];
start -> what;
what -> "skills/accessibility-diag.md" [label="VoiceOver/labels/hints"];
what -> "skills/accessibility-diag.md" [label="Dynamic Type"];
what -> "skills/accessibility-diag.md" [label="color contrast"];
what -> "skills/accessibility-diag.md" [label="touch targets"];
what -> "skills/accessibility-diag.md" [label="keyboard nav"];
what -> "skills/accessibility-diag.md" [label="Reduce Motion"];
what -> "skills/accessibility-diag.md" [label="Assistive Access"];
what -> "skills/accessibility-diag.md" [label="App Store prep"];
what -> "skills/ux-flow-audit.md" [label="UX dead end/dismiss trap"];
what -> "skills/ux-flow-audit.md" [label="missing states"];
what -> "accessibility-auditor" [label="automated scan" shape=box];
}- 任何VoiceOver、Dynamic Type、对比度、触控目标或WCAG相关问题 →
skills/accessibility-diag.md - 辅助访问(认知障碍,iOS 17+) →
skills/accessibility-diag.md - App Store无障碍审核被拒 →
skills/accessibility-diag.md - UX死胡同、关闭陷阱、隐藏的CTA、缺失状态 →
skills/ux-flow-audit.md - 需要自动无障碍扫描? → 使用agent或
accessibility-auditor/axiom:audit accessibility
Automated Scanning
自动扫描
Accessibility audit → Launch agent or
accessibility-auditor/axiom:audit accessibility- VoiceOver labels and hints
- Dynamic Type violations
- Color contrast failures
- WCAG compliance scanning
UX flow audit → Launch agent
ux-flow-auditor- Dead-end views, dismiss traps
- Buried CTAs, missing empty/loading/error states
- Deep link dead ends, accessibility dead ends
无障碍审核 → 启动 agent或
accessibility-auditor/axiom:audit accessibility- VoiceOver标签和提示
- Dynamic Type违规
- 色彩对比度不达标
- WCAG合规性扫描
UX流程审核 → 启动 agent
ux-flow-auditor- 死胡同视图、关闭陷阱
- 隐藏的CTA、缺失空/加载/错误状态
- 深度链接死胡同、无障碍死胡同
Critical Patterns
关键模式
Image Accessibility
图片无障碍
- Use for purely decorative images — automatically hidden from VoiceOver (equivalent to
Image(decorative: "photo")but semantically clearer)accessibilityHidden(true) - Use for buttons with complex or changing labels — improves Voice Control accuracy by providing alternative labels
accessibilityInputLabels() - Respect environment value — when active, provide non-color cues (icons, patterns, labels) alongside color indicators
accessibilityDifferentiateWithoutColor
- 纯装饰性图片使用——会自动对VoiceOver隐藏(效果等同于
Image(decorative: "photo"),但语义更清晰)accessibilityHidden(true) - 标签复杂或动态变化的按钮使用——通过提供替代标签提升Voice Control的识别准确率
accessibilityInputLabels() - 遵循环境值——启用时,除颜色指示外,需提供非颜色提示(图标、图案、标签)
accessibilityDifferentiateWithoutColor
Anti-Rationalization
误区纠正
| Thought | Reality |
|---|---|
| "I'll add VoiceOver labels when I'm done building" | Accessibility is foundational, not polish. accessibility-diag prevents App Store rejection. |
| "My app doesn't need accessibility" | All apps need accessibility. It's required by App Store guidelines and benefits all users. |
| "Dynamic Type just needs .scaledFont" | Dynamic Type has 7 common violations. accessibility-diag catches them all. |
| "Color contrast looks fine to me" | Visual assessment is unreliable. WCAG ratios require measurement. accessibility-diag validates. |
| "UX issues are just polish" | UX dead ends cause 1-star reviews. They're defects, not enhancements. |
| "The dismiss gesture handles it" | fullScreenCover has no dismiss gesture. That's the trap. |
| 错误想法 | 实际情况 |
|---|---|
| “等我开发完再添加VoiceOver标签” | 无障碍是基础要求,而非锦上添花。accessibility-diag可避免App Store审核被拒。 |
| “我的应用不需要无障碍支持” | 所有应用都需要无障碍支持。这是App Store指南的要求,且能惠及所有用户。 |
| “Dynamic Type只需要.scaledFont就够了” | Dynamic Type存在7种常见违规情况,accessibility-diag能全部检测出来。 |
| “我看色彩对比度没问题” | 视觉评估不可靠。WCAG比率需要量化测量,accessibility-diag可进行验证。 |
| “UX问题只是锦上添花” | UX死胡同会导致一星评价。这些是缺陷,而非增强功能。 |
| “关闭手势能处理这个问题” | fullScreenCover没有关闭手势,这就是陷阱所在。 |
Example Invocations
调用示例
User: "My button isn't being read by VoiceOver"
→ See
skills/accessibility-diag.mdUser: "How do I support Dynamic Type?"
→ See
skills/accessibility-diag.mdUser: "Check my app for accessibility issues"
→ See
skills/accessibility-diag.mdUser: "Prepare for App Store accessibility review"
→ See
skills/accessibility-diag.mdUser: "Scan my app for accessibility issues automatically"
→ Launch agent
accessibility-auditorUser: "How do I support Assistive Access?"
→ See
skills/accessibility-diag.mdUser: "Check for UX dead ends and dismiss traps"
→ See
skills/ux-flow-audit.mdUser: "My fullScreenCover has no way to dismiss"
→ See
skills/ux-flow-audit.mdUser: "Are there missing empty states in my app?"
→ See
skills/ux-flow-audit.md用户:“我的按钮无法被VoiceOver读取”
→ 查看
skills/accessibility-diag.md用户:“如何支持Dynamic Type?”
→ 查看
skills/accessibility-diag.md用户:“检查我的应用是否存在无障碍问题”
→ 查看
skills/accessibility-diag.md用户:“为App Store无障碍审核做准备”
→ 查看
skills/accessibility-diag.md用户:“自动扫描我的应用是否存在无障碍问题”
→ 启动 agent
accessibility-auditor用户:“如何支持辅助访问?”
→ 查看
skills/accessibility-diag.md用户:“检查是否存在UX死胡同和关闭陷阱”
→ 查看
skills/ux-flow-audit.md用户:“我的fullScreenCover无法关闭”
→ 查看
skills/ux-flow-audit.md用户:“我的应用是否缺失空状态?”
→ 查看
skills/ux-flow-audit.md