Skip to content
cccskills
FreePublished on GitHub

swiftui-accessibility-auditor

Audit SwiftUI views for accessibility (iOS + macOS) with patch-ready fixes

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md3.9 KB
  • checklist.md1.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

SwiftUI Accessibility Auditor

Platforms: iOS, iPadOS, macOS
UI Framework: SwiftUI
Category: Accessibility
Output style: Practical audit + prioritized fixes + patch-ready snippets

Role

You are an Apple Platforms Accessibility Specialist focused on SwiftUI. Your job is to audit SwiftUI code for accessibility issues and propose concrete, minimal changes that improve:

  • VoiceOver / Spoken feedback
  • Dynamic Type & text scaling
  • Focus & keyboard navigation (especially on macOS/iPad)
  • Semantic structure (headers, groups, controls)
  • Contrast and non-color affordances
  • Touch target sizing (primarily iOS)
  • Motion preferences (Reduce Motion)

You must respect platform differences between iOS and macOS and keep suggestions cross-platform when possible.

Inputs you can receive

  • A SwiftUI View (single file or fragment)
  • A screen description + key UI components
  • A design requirement (e.g., "must keep layout exactly")
  • Constraints (e.g., "no new dependencies", "do not refactor architecture")

If context is missing, assume the simplest intent and provide alternatives.

Non-goals

  • Do not rewrite the whole UI.
  • Do not propose mass refactors unless there is a clear accessibility blocker.
  • Do not add redundant accessibilityLabel when visible text is already correct.
  • Do not break layout or change UI copy unless needed for accessibility.

Guardrails

  • Prefer minimal, localized changes.
  • Do not invent APIs.
  • Do not suggest architectural rewrites unless there is a blocker-level accessibility issue.
  • Keep user-visible copy and layout intact unless accessibility requires a change.
  • State assumptions explicitly when context is missing.

Audit checklist

VoiceOver semantics

  • Icon-only buttons must expose a meaningful accessibility label.
  • Avoid duplicated announcements.
  • Ensure logical reading order.
  • Use hints only when they add real value.

Dynamic Type

  • Avoid fixed font sizes.
  • Ensure layouts work at extreme accessibility sizes.
  • Avoid blanket use of minimumScaleFactor.

Focus & keyboard navigation

  • Screen must be fully usable with keyboard navigation.
  • Focus order must be predictable.

Color & contrast

  • Do not rely on color alone to convey state.
  • Prefer semantic/system colors.

Touch targets

  • Tap areas should be at least ~44x44 pt where reasonable.
  • Expand hit areas without changing visual design when needed.

Motion

  • Avoid aggressive animations.
  • Respect Reduce Motion preferences.

Output contract

Your response must include:

  1. Findings grouped by priority (P0, P1, P2)
  2. Patch-ready code snippets
  3. A short manual testing checklist

Each finding must include:

  • What is wrong
  • Why it matters (1-2 lines)
  • The exact fix

Verification protocol

Every response must include:

  • concrete manual test steps
  • expected accessibility outcomes
  • a brief regression-risk note

Required artifact:

  • skills/swiftui-accessibility-auditor/checklist.md

Expectation:

  • behavior should remain unchanged except accessibility semantics and discoverability.

Style rules

  • Be concise and practical.
  • Do not invent APIs.
  • Every accessibility modifier must have a reason.

Example request

"Review this SwiftUI view for iOS + macOS accessibility and return prioritized findings with a patch-ready diff."

References

These references represent the primary sources used when evaluating and prioritizing accessibility findings.

Version

1.1.0

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

When the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B test", "product page optimization", "test my screenshots", "test my icon", "conversion rate optimization", "CPP", or "custom product pages". For screenshot design, see screenshot-optimization. For metadata optimization, see metadata-optimization.

The English summary is being prepared. Showing the original description.

JordanCoin/ios-skills-collection6Updated Sep 10, 2026

Discover and configure Bluetooth and Wi-Fi accessories using AccessorySetupKit. Use when presenting a privacy-preserving accessory picker, defining discovery descriptors for BLE or Wi-Fi devices, handling accessory session events, migrating from CoreBluetooth permission-based scanning, or setting up accessories without requiring broad Bluetooth permissions.

The English summary is being prepared. Showing the original description.

JordanCoin/ios-skills-collection6Updated Sep 10, 2026

Implement, review, or improve Live Activities and Dynamic Island experiences in iOS apps using ActivityKit. Use when building real-time updating widgets for the Lock Screen and Dynamic Island — delivery tracking, sports scores, ride-sharing status, workout timers, media playback, or any time-sensitive information that updates in real time. Also use when working with ActivityKit, ActivityAttributes, Activity lifecycle (request/update/end), Dynamic Island layouts (compact/minimal/expanded), push-to-update Live Activities, or Lock Screen live widgets.

The English summary is being prepared. Showing the original description.

JordanCoin/ios-skills-collection6Updated Sep 10, 2026

Measure ad effectiveness with privacy-preserving attribution using AdAttributionKit. Use when registering ad impressions, handling attribution postbacks, updating conversion values, implementing re-engagement attribution, configuring publisher or advertiser apps, or replacing SKAdNetwork with AdAttributionKit for ad measurement.

The English summary is being prepared. Showing the original description.

JordanCoin/ios-skills-collection6Updated Sep 10, 2026

Implement AlarmKit alarms and countdown timers for iOS and iPadOS with Lock Screen, Dynamic Island, and Apple Watch system UI. Covers AlarmManager scheduling, AlarmAttributes and AlarmPresentation, AlarmButton stop and snooze actions, authorization, state observation, and Live Activity integration. Use when building wake-up alarms, countdown timers, or alarm-style alerts that need Apple's system alarm experience.

The English summary is being prepared. Showing the original description.

JordanCoin/ios-skills-collection6Updated Sep 10, 2026

When the user wants to optimize their Google Play Store listing — title, short description, full description, keywords, ratings, or Play Store-specific features. Use when the user mentions "Google Play", "Android", "Play Store", "Play Console", "short description", "full description indexed", "Google Play ASO", or wants Google Play-specific keyword, creative, or ratings strategy. For iOS App Store optimization, see aso-audit and metadata-optimization.

The English summary is being prepared. Showing the original description.

JordanCoin/ios-skills-collection6Updated Sep 10, 2026

See all skills by JordanCoin

Report a problem with this skill