Accessibility

Verankila is built with Apple's native accessibility frameworks -- no third-party overlay widgets standing in for VoiceOver or Dynamic Type. Below is what's actually shipped and tested, not a marketing checklist.

VoiceOver

Interface controls throughout the app carry accessibility labels for VoiceOver navigation, including the recording controls, session list, and emotion-reading displays. The expression-space and model-space plots are grouped into a single VoiceOver stop with a plain-language summary, rather than reading out every internal axis label and marker separately.

Larger Text

Text uses the system's standard SwiftUI text styles, which scale with your Dynamic Type setting. The three dense, fixed-geometry plots and the region-saliency grid cap their scaling at a large-but-non-accessibility size so the layout doesn't break at the largest text sizes -- per Apple's guidance, capping is preferred over not scaling at all for data-dense views that can't reflow.

Sufficient Contrast

Text and icon colors are checked against WCAG AA contrast ratios (4.5:1 for text, 3:1 for icons and other UI components), verified by an automated test suite computing the actual contrast math against the app's real color values. One documented exception: a destructive-action header uses red at a reduced contrast (~3.4:1) to preserve its urgency signal -- a considered tradeoff, not an oversight.

Differentiate Without Color Alone

Emotion readings, selection states, and expand/collapse controls are never conveyed by color alone -- each is paired with a text label, an icon or shape change, or a structural difference in the content itself. Decorative color swatches that would otherwise be read out by VoiceOver as unlabeled shapes are explicitly hidden from it.

Dark Interface

Verankila uses a single, permanently dark interface -- there's no light-mode screen to navigate around, so contrast and legibility don't shift unexpectedly when your device's system appearance changes.

Reduced Motion

Every animation and transition in the app -- card expand/collapse, panel toggles, the persistent recording indicator's pulse -- respects your Reduce Motion system setting. Where an animation would otherwise be purely decorative (like the recording indicator's pulse), it's suppressed entirely rather than just slowed down.

Captions

When you speak while recording, Verankila transcribes it live and displays it as an on-screen caption alongside the camera view.

Feedback

Something not working the way you'd expect? Email support@verankila.app -- accessibility reports are read the same as any other.