iOS Accessibility Labels

Ios accessibility

by wondelai · MIT license · ★ 2,235 on GitHub · updated Sep 10

Ios accessibility cover

Every interactive element needs accessibility labels:

# iOS Accessibility

## VoiceOver Support

Every interactive element needs accessibility labels:

```swift
// Accessible label (what it is)
Image(systemName: "heart.fill")
    .accessibilityLabel("Favorite")

// Accessible value (current state)
Slider(value: $volume)
    .accessibilityLabel("Volume")
    .accessibilityValue("\(Int(volume * 100))%")

// Accessible hint (what it does)
Button("Share") { share() }

Overview

Every interactive element needs accessibility labels:

Manual install (npx, ZIP)
Claude Codenpx skills add wondelai/skills --skill ios-accessibility -g -a claude-code
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • accessibility.md1.3 KB
Read accessibility.md here
wondelai/main1 file
accessibility.md
Show the full text64 lines
ios-accessibility/accessibility.md64 lines · 1.3 KB

iOS Accessibility

VoiceOver Support

Every interactive element needs accessibility labels:

// Accessible label (what it is)
Image(systemName: "heart.fill")
    .accessibilityLabel("Favorite")

// Accessible value (current state)
Slider(value: $volume)
    .accessibilityLabel("Volume")
    .accessibilityValue("\(Int(volume * 100))%")

// Accessible hint (what it does)
Button("Share") { share() }
    .accessibilityHint("Shares this item with others")

// Group related elements
HStack {
    Image(systemName: "person")
    Text("John Doe")
}
.accessibilityElement(children: .combine)

Dynamic Type

Support user font size preferences:

// Use semantic text styles (automatically scales)
Text("Content")
    .font(.body)

// For custom fonts, scale with Dynamic Type
@ScaledMetric var customSize: CGFloat = 16

Text("Custom")
    .font(.system(size: customSize))

High Contrast Mode

@Environment(\.colorSchemeContrast) var contrast

var textColor: Color {
    contrast == .increased ? .primary : .secondary
}

Accessibility Checklist

  • All images have accessibility labels
  • Touch targets are minimum 44×44pt
  • Text scales with Dynamic Type
  • Color contrast meets WCAG standards
  • Motion can be reduced
  • VoiceOver navigation is logical
  • Don't rely solely on color to convey meaning
1# iOS Accessibility
2 
3## VoiceOver Support
4 
5Every interactive element needs accessibility labels:
6 
7```swift
8// Accessible label (what it is)
9Image(systemName: "heart.fill")
10 .accessibilityLabel("Favorite")
11 
12// Accessible value (current state)
13Slider(value: $volume)
14 .accessibilityLabel("Volume")
15 .accessibilityValue("\(Int(volume * 100))%")
16 
17// Accessible hint (what it does)
18Button("Share") { share() }
19 .accessibilityHint("Shares this item with others")
20 
21// Group related elements
22HStack {
23 Image(systemName: "person")
24 Text("John Doe")
25}
26.accessibilityElement(children: .combine)
27```
28 
29## Dynamic Type
30 
31Support user font size preferences:
32 
33```swift
34// Use semantic text styles (automatically scales)
35Text("Content")
36 .font(.body)
37 
38// For custom fonts, scale with Dynamic Type
39@ScaledMetric var customSize: CGFloat = 16
40 
41Text("Custom")
42 .font(.system(size: customSize))
43```
44 
45## High Contrast Mode
46 
47```swift
48@Environment(\.colorSchemeContrast) var contrast
49 
50var textColor: Color {
51 contrast == .increased ? .primary : .secondary
52}
53```
54 
55## Accessibility Checklist
56 
57- [ ] All images have accessibility labels
58- [ ] Touch targets are minimum 44×44pt
59- [ ] Text scales with Dynamic Type
60- [ ] Color contrast meets WCAG standards
61- [ ] Motion can be reduced
62- [ ] VoiceOver navigation is logical
63- [ ] Don't rely solely on color to convey meaning
64 
View all files on GitHub →

Details

Updated
Sep 10, 2026
License
MIT
Stars on the repo
★ 2,235
Checked
Source
wondelai/skills ↗
Creator
wondelai · 319 listings
View creator

Similar skills

See all →
SkillWCAG 2.2 Implementationwshobson/agents · by wshobsonImplement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.★ 39.9k GitHub starsAgentAccessibility Testing ValidatorVoltAgent/awesome-claude-code-subagents · by VoltAgentUse this agent when you need comprehensive accessibility testing, WCAG compliance verification, or assessment of assistive technology support.★ 25.2k GitHub starsSkillAccessibility Standards Auditorjakubkrehel/skills · by jakubkrehelHelps your project comply with accessibility standards and best practices.★ 7.1k GitHub starsSkillWeb a11y Auditoraddyosmani/web-quality-skills · by addyosmaniAudit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".★ 2.8k GitHub starsSkillWCAG Compliance Auditorrampstackco/claude-skills · by rampstackcoRun a comprehensive WCAG accessibility audit covering perceivable, operable, understandable, and robust principles. Use this skill whenever the user wants to audit accessibility, review WCAG compliance, fix accessibility issues, prepare for accessibility certification, address an accessibility lawsuit risk, or systematically improve a site's accessibility. Triggers on accessibility audit, WCAG audit, a11y audit, accessibility compliance, ADA compliance, screen reader test, keyboard navigation, accessibility report, fix accessibility, axe scan. Also triggers when accessibility issues have been reported and need systematic remediation.★ 901 GitHub starsSkillWebsite Auditorjoshguntarverdiyev/web-checkup · by joshguntarverdiyevDesign, build, audit, and harden websites and web apps so they ship distinctive, secure, fast, accessible, and discoverable instead of looking AI-template generated. Use when creating or redesigning a landing page, SaaS UI, dashboard, portfolio, docs or ecommerce site; when a UI looks generic or "AI-made"; for UX/UI review, mobile and tablet responsiveness, accessibility, security audits (secrets, auth, database rules, headers), performance and Core Web Vitals, SEO, metadata, Open Graph, structured data, AI-search visibility, logo/favicon/icon/asset work, code quality, privacy compliance, or a pre-launch check. Also use when the user asks "is this ready to ship?", "is this safe?", "why does this look generic?", or "audit my site". Not for backend-only work with no web surface, and not for live penetration testing of systems the user does not own.★ 1 GitHub stars

More from wondelai

SkillSoftware Design Philosophywondelai/skills · by wondelaiManage software complexity through deep modules, information hiding, and strategic programming. Use when the user mentions "module design", "API too complex", "shallow class", "complexity budget", "strategic vs tactical", "deep module", "information leakage", "pass-through method", "this code is over-engineered", or "simplify this design". Also trigger when reviewing an interface for simplicity, evaluating whether an abstraction is pulling its weight, deciding whether a comment is worth writing, or choosing between general-purpose and special-purpose approaches. Covers deep vs shallow modules, red flags for complexity, and comments as design documentation. For code quality, see clean-code. For architecture boundaries, see clean-architecture.★ 2.2k GitHub starsSkillActionable Metrics Guidewondelai/skills · by wondelaiMetrics are the language of validated learning. The wrong metrics create the illusion of progress while the startup drifts toward failure.…★ 2.2k GitHub starsSkillAdvertising Mediawondelai/skills · by wondelaiAdvertising media is the vehicle that carries your message to your target market. Choosing the right media is not about what is trendy — it…★ 2.2k GitHub starsSkillAffordance Designwondelai/skills · by wondelaiAn affordance is a relationship between an object and a person that determines how the object could possibly be used. A chair affords…★ 2.2k GitHub starsSkillLean UX in Agile Teamswondelai/skills · by wondelaiLean UX was designed to work inside Agile development teams, not alongside them. The central mechanism is dual-track agile, where a…★ 2.2k GitHub starsSkillAMP Framework Practitionerwondelai/skills · by wondelaiThis reference translates the AMP framework from theory into practice across six domains: product gamification, team management,…★ 2.2k GitHub stars