Postea — Accessibility
Last updated: May 2026
Postea is built to be quietly excellent for everyone, including people who use VoiceOver, Switch Control, large or bold text, reduced motion, reduced transparency, or AssistiveTouch. The app’s design philosophy — one thing at a time, no feed, no noise — happens to be the same philosophy that produces accessible software: nothing depends on being able to see a lot of things at once, gesture quickly, or distinguish subtle visual states.
If something here doesn’t work for you, please email honorius@neogy.dev — accessibility bugs are the highest-priority bugs in this app.
What’s supported
VoiceOver
Every interactive element has an accessibility label and, where helpful, a hint:
- The “Postea.” wordmark on the main screen is labeled “Postea. Latin for afterward. Not this moment, the next.” Tapping it requests a moment. The hint reads “Double tap to ask for a moment.”
- Help (?) and Settings (gear) buttons are labeled “How it works” and “Settings,” with hints describing what each does.
- Each offering view (Sit, Read, Reach, Learn, Solve, Make, Notice) groups its content into a single readable accessibility element with a clear label.
- The Read offering exposes both the passage and its source as separate VoiceOver content, including a custom Source attribute so VoiceOver users can hear the attribution explicitly.
- The Sit timer announces remaining time and the bell rings audibly at completion.
- Decorative artwork (the arch, glow, and dim overlay) is hidden from VoiceOver via
.accessibilityHidden(true).
- The Reach compose view labels the text editor “Message to <person’s name>” and the send button hints “Opens Messages with your composed text.”
- The “Developed with ❤ by Honorius M. Neogy” credit footer is announced as one phrase, with the developer name a separately tappable button that opens neogy.dev in your browser.
Dynamic Type
All text in Postea uses iOS system text styles (.largeTitle, .body, .footnote, .caption, etc.). Nothing is set to a fixed point size. The app respects every Dynamic Type size from the smallest accessibility size to the largest — text scales, layouts reflow, and no text is truncated at large sizes.
Reduce Motion
The Reduce Motion accessibility setting is honored throughout:
- The arched glow behind the wordmark fades in without animating
- The heart in the credit footer does not pulse
- The fade-in of the Settings/Help buttons happens instantly
- The transition between offering screens is a cross-fade, not a slide
- Long animations (the Sit countdown bell, the Done state) play their final state without intermediate motion
Reduce Transparency
When Reduce Transparency is on, all gradient and translucent backgrounds collapse to opaque equivalents. The arch glow behind “Postea.” is hidden entirely, and the dim overlay on the idle screen is replaced by a solid background.
Increase Contrast / Bold Text / Differentiate Without Color
- Postea’s interactive elements never depend on color alone — every action is labeled with text or a SF Symbol icon.
- Every text element uses semantic colors that adapt to Increase Contrast when enabled.
- Bold Text is rendered correctly because all typography uses system font families.
Switch Control / Voice Control / AssistiveTouch
- Every tappable surface is at least 44 × 44 points (Apple’s minimum) — enforced by a wrapper called
AccessibleButton used everywhere icon-only buttons appear.
- There are no time-sensitive interactions other than the Sit timer (which you control), so users with motor differences can take as long as they need on every screen.
- The Reach compose flow can be completed entirely without precise gestures.
Reduce Animation in iOS Settings
accessibilityReduceMotion is checked at every animation site. The brief reveal animation that fades in the Settings and Help buttons after a couple of seconds runs instantly when Reduce Motion is on.
Audio
- The Read offering has a “Read aloud” button that uses iOS’s text-to-speech in your device language.
- The Sit timer rings a soft bell at completion. The bell respects the system’s silent switch and does not play if the device is muted.
- No audio plays unprompted.
Color Vision
- Status indicators (success / error / disabled) use both color and icon shape (for example, ✓ for granted permissions, ✕ for denied).
- The accent color is a warm gold against a near-black background — high contrast and distinguishable across all forms of color vision difference.
Focus
The iOS Focus Filter integration lets you limit Postea to specific categories during Work, Sleep, or any custom Focus mode — useful if certain offerings are distracting in certain contexts.
What’s planned
These are next on the accessibility backlog. None are blockers; they would extend the experience further:
- Localization — Postea is currently English-only. Translating the app’s UI and the Read passages to additional languages will unlock the experience for non-English speakers. Read attributions are already from translators across many traditions; the UI itself is the gap.
- Haptic intensity setting — Postea uses subtle haptic feedback on dismiss and bell completion. A setting to disable or strengthen these will help users with reduced sensitivity.
- Adjustable font weight — beyond Bold Text, an in-app setting to make passages render with extra weight.
Known limitations
- The Reach compose view uses Apple’s Writing Tools (iOS 18+) for proofreading and rewriting. On iOS 17, this falls back to a plain text editor — no Writing Tools features are available, but composing and sending still work normally.
- The Live Activity for Sit sessions appears on the Lock Screen and Dynamic Island. VoiceOver describes the timer and the instruction text; there is currently no accessibility action to control the timer from the Live Activity itself (the iOS Activity framework limits this).
Reporting accessibility bugs
If something in Postea is unusable or hard to use with an accessibility setting enabled, please email me — these are the bugs I most want to hear about.
honorius@neogy.dev
Please include:
- The accessibility setting that’s enabled (VoiceOver, Reduce Motion, etc.)
- iOS version + device model
- What happened, what you expected
- A screenshot or screen recording if you’re comfortable sharing one
I’ll respond within a few days. Accessibility fixes ship in the next available release.
Accessibility statement
Postea aims to conform to Web Content Accessibility Guidelines (WCAG) 2.1 Level AA where applicable to a native iOS app, and to follow Apple’s Human Interface Guidelines for accessibility. Achieving this is a continuous process, not a destination — gaps will exist, and they will be fixed as I find them.
The app is one person’s work, made with care.