Skip to content

Accessibility

G-Rump includes built-in accessibility features and an audit panel for projects.

Accessibility Audit Panel

The Accessibility panel (right sidebar) provides:

  • Automated accessibility audit for SwiftUI views
  • VoiceOver label coverage analysis
  • Dynamic Type compliance checking
  • Color contrast ratio validation
  • Actionable fix suggestions

Built-in Accessibility

VoiceOver

All interactive elements have accessibilityLabel modifiers:

  • Send button → "Send message"
  • Stop button → "Stop generation"
  • Reaction buttons → "Thumbs up", "Thumbs down"
  • Panel tabs → Panel name
  • Settings controls → Descriptive labels

Dynamic Type

  • Typography system (DesignTokens.swift) uses relative font sizes
  • Content Size setting (Small/Medium/Large) applies a scale factor
  • Layout adapts to larger text without clipping

Keyboard Navigation

  • Full keyboard navigation support
  • All actions accessible via keyboard shortcuts
  • Focus indicators on interactive elements
  • Tab order follows visual layout

Color & Contrast

  • All themes maintain WCAG AA contrast ratios for text
  • Status indicators use both color and shape (dot + text label)
  • Interactive elements have sufficient contrast in all themes

Accessibility Labels in Code

Pattern used throughout:

Button(action: onSend) {
    Image(systemName: "arrow.up")
}
.accessibilityLabel("Send message")

Key Files

File Purpose
AccessibilityAuditView.swift Audit panel UI
DesignTokens.swift Typography with relative sizing
ThemeManager.swift Theme contrast compliance