Skip to content

Accessibility

How the My Maternal Mind iOS app responds to the iPhone's accessibility settings, what we still owe you, and how to tell us when something doesn't work.

Last updated: May 29, 2026

Where we stand

We treat accessibility as a baseline, not an extra. Becoming a mother is hard enough without the app you reach for at 3 a.m. adding friction. Most of our accessibility work happens at the level of the iOS system itself. VoiceOver, Dynamic Type, Reduce Motion, the lot, so when you change a setting on your phone, the app responds without you ever having to open ours.

The table below maps each accessibility feature Apple asks every app to declare against what we actually do. Where we say “Not yet,” that's a real gap we've named, not a marketing softening. Where we say “Supported,” we mean every screen in the app honors it.

Feature support

VoiceOver

Supported

Every interactive element has a label, hint, and value. Custom rotor for sentence-by-sentence transcript navigation. Audio playback no longer silences VoiceOver.

Tap targets, status changes, error states, and progress indicators all announce. The transcript view exposes a Sentences rotor so VO users can jump between sentences in a meditation or wellness exercise. Modal sheets and overlays each have an Escape custom action.

Voice Control

Supported

Every button and control responds to its visible label. Radio groups, decks, and per-item context labels are wired so similar buttons disambiguate cleanly.

If a screen has two heart buttons (one on a meditation card, one on an affirmation), each has its own contextual label so Voice Control can target the right one without you reading out the index.

Larger Text (Dynamic Type)

Supported

The app honors your Dynamic Type setting up to and including the largest accessibility sizes (AX1–AX5).

Buttons, inputs, paywall pricing, mini-cards, the home hero, and progress cards scale at runtime via @ScaledMetric. The rest of the app reads your Dynamic Type setting at launch, if you change the slider while the app is open, relaunch to see the new size.

Dark Interface

Not yet

The app has six themed palettes (default Moonstone, plus Garnet, Forest, Eucalyptus, Dawn, and Golden Hour) but does not yet adapt to the system Dark Mode setting.

Themes can be switched in Settings. A system-driven Dark Mode is a future project, every color token in the design system would need a light/dark variant.

Differentiate Without Color Alone

Supported

Mood, achievement tier, progress, and streak indicators each use shapes, icons, or text in addition to color.

Mood tags use SF Symbols (leaf, link, bolt, sun, wind, moon, cloud, etc.). Achievement tiers render the tier name as text. Progress bars show 'Done' or a percentage. The weekly streak indicator uses three distinct dot shapes (filled with checkmark, outlined, subtle) plus the day-letter labels above each dot.

Sufficient Contrast

Supported

All body text and iconography meet WCAG AA contrast across every theme. Primary CTA button labels meet AA-large at the rendered size (18pt semibold).

Contrast is verified by an automated test fixture (ContrastAuditTests) on every release branch. The fixture covers six themes and five token categories. One documented edge case: white-on-CTA-accent on five of the six themes sits between 3.93:1 and 4.22:1, below AA-normal (4.5:1) but above AA-large (3:1), which is the threshold for the button's rendered size.

Reduced Motion

Supported

The app's centralized motion vocabulary honors your Reduce Motion setting. Looping breathing animations, ambient pulses, sync banners, and confetti are suppressed.

Reduce Motion users still see celebration moments (streak milestones, achievement unlocks) as static content with haptic and VoiceOver feedback, the celebration isn't skipped, just the scale and opacity sweep.

Captions

Supported

Every meditation and wellness exercise has a full transcript. Meditation transcripts are time-synchronized to playback; wellness transcripts use sentence-level navigation.

Tap 'Read along' on the player to open the transcript. Each sentence highlights as it's spoken (meditation only). VoiceOver users can jump between sentences via the Sentences rotor (VO+R).

Audio Descriptions

Not applicable

The app has no video content. Audio descriptions only apply to videos.

What we're still working on

Three accessibility refinements are on our roadmap, each waiting on a small design decision before we ship:

  • Bold Text for serif typography. When you enable the system Bold Text setting, our system fonts honor it but our custom serif display headings (the larger, hand-set titles) do not. Adding a bold weight requires shipping a second font file paired carefully with the existing weight.
  • Always-on caption strip during playback. Captions are available now via the “Read along” button, which opens the full transcript. We're considering a persistent caption strip option for users who prefer captions visible throughout a meditation, gated behind a Settings toggle.
  • Live progress announcements for slow operations. We announce when a meditation finishes generating, but not the percentage milestones during. Worth doing carefully, over-frequent VoiceOver announcements interrupt rather than help.

We also don't yet adapt to system Dark Mode, our six themes are brand palettes you select manually, not light/dark variants. That's a larger redesign, not a quick fix.

The standards we measure against

We hold the app to the WCAG 2.2 AA criteria and Apple's Human Interface Guidelines for accessibility. Where we deliberately don't meet a criterion, and there are a few, those decisions are documented in our internal accessibility exceptions log, with the reasoning and the path back to a fix.

Every release goes through an automated accessibility audit (contrast, element detection, dynamic type, traits, hit regions) before it ships. Audit failures block the release unless we've explicitly documented why a given finding is intentional.

Report a barrier

If something in the app stops you from using it, anything at all, on any iOS accessibility setting, we want to know. Send us an email and we'll take it seriously.

Email: [email protected]

Include the iPhone model you're using, the iOS version, and which accessibility settings you have on. If you can describe what you were trying to do and what happened, that helps us reproduce the issue and fix it.