Accessibility
More Garlic is built to be usable by everyone — accessibility is part of the design, not an afterthought.
The interface was laid out, colored, and labeled to work with VoiceOver, large text, and the iOS accessibility accommodations from the start. This statement describes what the app supports today, and it is kept honest: anything still in progress is called out, never overclaimed. If something gets in your way, please tell us — accessibility feedback goes to the top of the list.
VoiceOver
Every interactive control has a meaningful spoken label, and most carry a value, hint, or trait as well:
- Recipe cards read as a single element — title, total time, ingredient count, and the "shares N with your trip" overlap signal, all in plain spoken language (no stray glyphs).
- Custom controls are fully labeled — the amount stepper ("Decrease amount" / "Increase amount"), the tap-to-pick amount menu, the unit dropdown, and the per-ingredient "Anchor amount" button.
- Checkboxes (shopping rows, pantry staples) expose a button trait, a selected state, a checked value, and a "Double tap to check off" hint.
- Toolbar and chrome buttons are named — "Settings", "Add a recipe", "Export list", "Build shopping list", plus per-item "Add … to trip" and "Dismiss …" actions.
- Off-screen swipe actions are also custom accessibility actions — for example "Mark as staple" on an ingredient line, which otherwise lives behind a swipe.
- Decorative graphics are hidden from VoiceOver (the oversized food emoji, row food icons, empty-state art); their meaning is folded into the element's label instead.
- Headings and reading order — section headers are marked as headers for heading navigation, and reading order follows the visual layout.
Dynamic Type
Text uses the system text styles, so it scales with your preferred reading size, including the larger Accessibility sizes. Layouts reflow rather than clip:
- The Library grid collapses from two columns to one at accessibility text sizes so each card has room for its taller title, meta line, and badge.
- The trip strip stacks the label and the "Build shopping list" button vertically when they no longer fit side by side.
- Long lines wrap instead of truncating, and thumbnails scale with the text.
Legible color (WCAG AA)
The palette was designed to meet WCAG AA — most pairs reach AAA — for text and icons against their backgrounds, in both light and dark appearance. The high-energy accent is always paired with dark text, never white; warning cues use a darkened amber that clears contrast; and dividers are decorative only, never used to convey state.
Differentiate without color
No status is communicated by color alone — every colored cue is paired with a shape, glyph, or text:
- Checked vs. unchecked items differ by shape (a filled vs. an empty circle) plus a strike-through, not just color.
- The "shares N with your trip" badge carries a merge glyph and text.
- Low-confidence scan lines carry a dotted underline, a warning triangle, and "Check this one" text, in addition to the amber color.
Increase Contrast
When Increase Contrast is on, card and input surfaces gain a defined, full-strength edge so they never float borderless against the background — honored on recipe cards, the trip strip, the import fields, and notice cards.
Reduce Transparency
When Reduce Transparency is on, the one translucent surface in the app — the floating action bar in the pantry pre-flight — switches from a blurred material to a solid fill, so it never blends into the list behind it.
Reduce Motion
More Garlic uses no custom or decorative motion: no developer-driven animations, transitions, or parallax. Navigation and sheets use the standard system transitions, which already respect your Reduce Motion setting.
Dark Mode
The full palette is built from light/dark-adaptive colors, so every screen flips correctly to a deep aubergine dark theme that follows the system appearance, with all contrast pairs verified in both modes.
Larger touch targets
Tappable elements meet or exceed the recommended minimum touch target. A shared ~48 pt target guarantees a generous, full-rectangle hit area for icon-only controls (the amount stepper, anchor button, refresh), and rows and primary buttons enforce a minimum height so the whole element is tappable.
Languages
More Garlic ships in 10 languages — English, Spanish, French, German, Italian, Portuguese (Brazil), Japanese, Korean, Simplified Chinese, and Russian — and the interface follows your device's language when it is one of these. Separately, a recipe written in another language can be translated on your device at import using Apple's on-device translation, so a foreign recipe becomes a clean, readable card without the text leaving your iPhone.
Private and on-device
Accessibility and privacy go together here: recipe import, parsing, ingredient resolution, suggestions, and the optional on-device AI all run on your device. There is no account, and a one-tap "Export library (.zip)" gives you full JSON plus a clean Markdown file per recipe, so nothing is locked in. See the Privacy Policy for details.
Tell us what's missing
If any part of More Garlic is hard to use with an assistive technology, email info@psychosonicconsulting.com. Accessibility reports are read first and fixed fast.