Cataloc is a one-person app, not a large team with a dedicated audit — but accessibility was built into its foundations rather than bolted on afterwards. Every tappable control, every label and every screen goes through the same handful of shared components, so a fix made once applies everywhere at once. This page lists what that gets you today, plainly, including where it falls short.
Every tappable control in the app — buttons, rows, photos, switches — carries a role, a label and, where it helps, a hint. This isn't screen-by-screen effort: one shared button component stamps it on automatically, so new screens inherit it for free.
The same labels VoiceOver reads give Voice Control something to reference by name, across the whole app.
Text follows your phone's own text-size setting everywhere in the app — nothing is fixed at a size that stops scaling. Layouts are built to reflow rather than truncate as text grows.
Light, dark or system — set once in the app (Settings → Appearance) and every screen follows it.
Tags and statuses always carry a name alongside their color. Nothing in the app expects you to tell things apart by hue alone.
Every text-and-background pairing in the app's own palette is checked against a minimum contrast ratio by a script that fails the build if one falls short — light palette and dark palette both.
Turning this on in your phone's settings already changes how Cataloc moves: screen transitions and pop-up sheets fade instead of sliding. A couple of smaller animations — onboarding's entrance effect, and the photo viewer's zoom-reset — don't check the setting yet and still animate. Being honest about the gap here rather than claiming the box on the App Store listing.
Captions and Audio Descriptions are not applicable — Cataloc has no video or audio content to caption or describe. The camera is used to take still photos and scan QR codes.
If VoiceOver, Voice Control, or any of the above isn't behaving the way this page says it should on your phone, that's a bug, not a trade-off — please write in with what you were trying to do and what happened instead.