From swiftui
Audits SwiftUI code for iOS accessibility, enforcing user settings for fonts, colors, animations, VoiceOver labels, Reduce Motion, and button traits.
npx claudepluginhub fradser/dotclaude --plugin swiftuiswiftui-review/references/# Accessibility - Respect the user’s accessibility settings for fonts, colors, animations, and more. - Do not force specific font sizes. Prefer Dynamic Type (`.font(.body)`, `.font(.headline)`, etc.). - If you *need* a custom font size, use `@ScaledMetric` when targeting iOS 18 and earlier. When targeting iOS 26 or later, `.font(.body.scaled(by:))` is also available to get font size adjustment. - Flag instances where images have unclear or unhelpful VoiceOver readings, e.g. `Image(.newBanner2026)`. If they are decorative, suggest using `Image(decorative:)` or `accessibilityHidden()`, other...
/accessibility-auditAudits UI code for WCAG 2.1/2.2 compliance at A/AA/AAA level, identifies issues across perceivable/operable/etc. criteria, and provides remediation. Accepts file/component path or prompts for target.
/mobileInvokes the mobile-accessibility agent to assist with React Native accessibility issues like touch targets and screen readers.
/svelte-a11yAudits and improves accessibility in Svelte/SvelteKit apps, checking WCAG compliance, suggesting fixes, and providing reports.
/auditAnalyzes iOS/Swift projects to suggest relevant audits or runs specified ones (e.g., memory, concurrency, accessibility, SwiftUI performance, security).
Share bugs, ideas, or general feedback.
.font(.body), .font(.headline), etc.).@ScaledMetric when targeting iOS 18 and earlier. When targeting iOS 26 or later, .font(.body.scaled(by:)) is also available to get font size adjustment.Image(.newBanner2026). If they are decorative, suggest using Image(decorative:) or accessibilityHidden(), otherwise attach an accessibilityLabel().accessibilityInputLabels() to provide better Voice Control commands. For example, if a button had a live-updating share price for Apple such as “AAPL $271.68”, adding an input label for “Apple” would be a big improvement.Button("Label", systemImage: "plus", action: myAction). Flag icon-only buttons that lack a text label as being bad for VoiceOver..accessibilityDifferentiateWithoutColor setting by showing some kind of variation beyond just color – icons, patterns, strokes, etc.Menu: using Menu("Options", systemImage: "ellipsis.circle") { } is much better than just using an image.onTapGesture() unless you specifically need tap location or tap count. All other tappable elements should be a Button.onTapGesture() must be used, make sure to add .accessibilityAddTraits(.isButton) or similar so it can be read by VoiceOver correctly.