Our Commitment

Gospify is built with accessibility as a core principle, not an afterthought. We believe that every person, regardless of ability, deserves to study the Word comfortably and joyfully. If you encounter any barrier while using the app, please let us know. Accessibility is never "done" — we are always improving.

✅ Supported Features at a Glance

Gospify supports nine core accessibility features across iOS and Mac Catalyst:

🔊

VoiceOver

Full screen reader support with descriptive labels, hints, and value announcements on every screen.

🎙

Voice Control

Navigate and interact using natural voice commands like "Continue", "Close", "Hint", and tab names.

🔤

Dynamic Type

All text scales smoothly with your system font size, including the largest accessibility sizes.

🌙

Dark Mode

Full adaptive dark theme with a three-way toggle: Auto, Light, or Dark.

🎯

High Contrast

Colors and borders automatically intensify when "Increase Contrast" is enabled.

Reduce Motion

All animations, particles, and confetti are simplified or removed for a calmer experience.

🔶

Color Independent

Icons and shapes accompany every color indicator — nothing relies on color alone.

🔊

Text-to-Speech

Built-in read-aloud for verses and Greek/Hebrew pronunciation for word studies.

🎮

Haptic Feedback

Tactile responses for correct answers, streaks, and navigation — fully toggleable.

🔊 VoiceOver

Gospify is designed to work seamlessly with VoiceOver, Apple's built-in screen reader. Every interactive element in the app includes descriptive accessibility labels, hints, and dynamic value announcements.

What's covered:

  • Navigation — Tab bar items, menu buttons, and profile are labeled with contextual descriptions (e.g., "Profile: Grace, Level 5 Scholar. Double tap to open your profile.")
  • Lesson Exercises — All six exercise types (Multiple Choice, Fill in the Blank, Matching, Reorder, True/False, Type the Reference) have full VoiceOver support. Options announce their selection state and correctness after checking.
  • Progress Tracking — Streak count, level, XP, quest progress, star ratings, and daily goals all announce their current values.
  • Lumen Study Companion — Verse cards, cross-reference results, word study entries, and search results are all labeled for screen reader navigation.
  • Quests & Achievements — Quest progress is announced as "3 of 5 completed" and claim buttons are clearly labeled.

How to enable: Settings > Accessibility > VoiceOver

🎙 Voice Control

Navigate Gospify entirely hands-free using Apple's Voice Control. Key buttons and controls have input labels that respond to natural voice commands:

Say this... To do this
"Continue" or "Next" Advance to the next exercise or screen
"Check" Submit your answer
"Hint" or "Help" Reveal a hint during lessons
"Close" or "Back" Exit the current screen
"Profile" Open your profile
"Menu" Open the side menu
"Claim" Claim a quest reward
"Today", "Path", "Lumen" Switch to that tab

How to enable: Settings > Accessibility > Voice Control

🔤 Dynamic Type & Larger Text

Gospify fully respects your system text size preferences. Every font in the app scales smoothly with Dynamic Type:

  • Heading fonts (Georgia serif) scale relative to their text style anchors — titles, headlines, and body text all grow proportionally.
  • System fonts used for UI controls and body text scale automatically.
  • Layout adapts gracefully at all sizes — cards, buttons, and exercise views remain usable even at the largest accessibility text sizes.

How to adjust: Settings > Display & Brightness > Text Size
For even larger options: Settings > Accessibility > Display & Text Size > Larger Text

🌙 Dark Mode

Gospify offers a fully adaptive dark theme with a three-way toggle:

  • Auto — follows your system appearance, switching automatically at sunset/sunrise or on your schedule.
  • Light — a warm parchment-toned light theme inspired by aged manuscript pages.
  • Dark — a deep ink-blue dark theme designed for comfortable nighttime reading and extended study sessions.

Every color in the app is adaptive — backgrounds, text, accents, dividers, shadows, and status colors all adjust for the current appearance. Over 20 colors in the design system have hand-tuned dark variants.

How to switch: Open the Gospify Settings tab > Appearance

🎯 High Contrast

When you enable "Increase Contrast" in iOS settings, Gospify automatically adjusts its entire color palette for maximum readability:

  • Text shifts to pure black (light mode) or pure white (dark mode) for maximum sharpness.
  • Backgrounds become pure white or black, eliminating warm parchment tones that may reduce contrast.
  • Accent colors (teal and amber) shift to bolder, higher-contrast variants — darker blue in light mode, brighter blue in dark mode.
  • Muted text becomes darker and more readable rather than fading into the background.
  • Divider lines become more prominent and visible.
  • Card borders gain a stronger 2-point stroke for clearer visual separation between elements.

These adjustments happen automatically with no user action needed inside the app.

How to enable: Settings > Accessibility > Display & Text Size > Increase Contrast

⚡ Reduce Motion

When "Reduce Motion" is enabled, Gospify simplifies or removes all non-essential animations throughout the app. Content remains fully visible — only the motion is removed:

  • Launch screen — spring animations replaced with gentle fades; decorative particles hidden entirely.
  • Lesson completion — confetti and staggered star bounce effects replaced with instant reveals. Stars and results still display normally.
  • Level-up celebrations — badge and content appear instantly; confetti hidden.
  • Achievement banners — appear with a simple ease-in instead of a bouncy entrance.
  • Celebration overlays — sparkle particles disabled; glow effects resolve immediately.
  • Path terrain — ambient floating particles hidden.
  • Scripture & Vespers — transition animations simplified.
  • Page transitions — staggered entrance animations simplified across all views.

How to enable: Settings > Accessibility > Motion > Reduce Motion

🔶 Color-Independent Design

Gospify never relies on color alone to convey important information. Every color-coded element is paired with a distinct shape, icon, or text indicator:

Element Color Non-Color Indicator
Correct answer Green ✓ Checkmark icon
Incorrect answer Red ✗ X-mark icon
Completed lesson Teal ✓ Checkmark overlay + star badge
Locked lesson Muted gray 🔒 Lock icon overlay
Quest complete Green bar ✓ Checkmark icon alongside bar
Stars earned Amber/Gray Filled vs. outlined star shapes
iCloud status Green/Red ✓/✗ icons for connected/unavailable

This ensures the app is fully usable for people with color vision deficiency (color blindness).

🔊 Text-to-Speech & Audio

Gospify includes built-in text-to-speech for Scripture reading and original-language learning:

  • Read Aloud — teaching cards and verse screens have a speaker button that reads the text aloud using natural speech synthesis. Playback can be paused and resumed.
  • Greek & Hebrew Pronunciation — word study entries include a speaker button that pronounces the original-language word and its transliteration. Greek uses an el-GR voice, Hebrew uses he-IL, with a slower rate (0.7×) for learning clarity.
  • Haptic Feedback — tactile responses accompany correct answers, streaks, and navigation. This can be toggled on or off in Gospify Settings.
  • Sound Effects — audio cues for lesson events can be toggled independently from haptics.

All audio is supplementary — the app is completely usable in silence.

🛠 Under the Hood

For developers and the technically curious, here's how accessibility is implemented in Gospify:

  • SwiftUI accessibility modifiers.accessibilityLabel(), .accessibilityHint(), .accessibilityValue(), and .accessibilityAddTraits() on all interactive elements.
  • Voice Control input labels.accessibilityInputLabels() and .accessibilityIdentifier() on 30+ key controls for natural language command matching.
  • Adaptive colors via UITraitCollection — every color checks userInterfaceStyle (dark mode) and accessibilityContrast (high contrast) at the theme level.
  • Reduce Motion environment@Environment(\.accessibilityReduceMotion) is read in all animation-heavy views with pre-defined reduced animation variants in the design system.
  • Dynamic Type scaling — custom fonts use the relativeTo: parameter with appropriate Font.TextStyle anchors; system fonts scale automatically.
  • Element grouping.accessibilityElement(children: .combine) groups related content to reduce VoiceOver navigation clutter.
  • Decorative hiding — purely decorative elements (quote marks, dividers, decorative icons) are hidden from assistive technologies with .accessibilityHidden(true).

✉️ Report an Accessibility Issue

If you encounter any barrier, frustration, or missing label while using Gospify with assistive technology, we want to hear about it. Every report helps us make the app better for everyone.

Please include:

  • Which assistive technology you're using (VoiceOver, Voice Control, etc.)
  • Which screen or feature the issue occurs on
  • What you expected to happen vs. what actually happened
✉️ Email Accessibility Feedback