CurbWorth Accessibility

Last reviewed: 2026-09-09 · CurbWorth 0.9.117

CurbWorth aims to meet WCAG 2.2 Level AA and Apple's accessibility guidance for iOS apps. It does not fully meet that bar yet. This page says where it stands and names the gaps we know about, because a statement that claims everything works is worth nothing to the people who depend on it.

Found a barrier we have not listed? Email [email protected]. Tell us the screen, what you were using (VoiceOver, a larger text size, a keyboard), and what happened. One person reads that address, replies are not automated, and there is no guaranteed response time.

How this was assessed

This is a self-assessment, not a third-party audit and not a formal conformance claim. It comes from a structured review of the shipping code against WCAG 2.2 AA and Apple's Human Interface Guidelines: colour contrast computed from the stylesheet's real values, markup and scripted DOM read for names, roles and structure, and the native app's code read for VoiceOver behaviour and text scaling.

It has not been tested end to end with VoiceOver on a physical iPhone, or with an automated accessibility scanner. That is the single biggest limitation of everything below: these are verified properties of the code, not observed behaviour in the hands of someone who uses a screen reader daily. Where testing would have been the only way to be sure, this page says so.

What works today

Reduced motion is fully respected. If you turn on Reduce Motion, animations and transitions across the whole interface are switched off, and the two things animated by script — the value count-up and smooth scrolling — check the setting and skip their animation.

You can stop the app changing under you. The feed refreshes on its own and the top picks are re-ranked hourly. Turning off "Keep the list fresh while I'm looking" in Settings now stops both, so content does not move without your say-so. The visible "next run" countdown has its own pause control.

Text can be enlarged. The iPhone app follows your system text size, including the larger accessibility sizes, and reapplies the change immediately if you adjust it while the app is open. Pinch-to-zoom is deliberately enabled and is never blocked on any page.

Controls say what they act on. Each listing's Save, Pass and unsave controls carry the listing's own title in their name, so they are distinguishable rather than a row of identical "Save" buttons.

Colour is never the only signal. Freshness, confidence and value-quality are carried by words, not just by a green or amber tint. Body text, muted text and status colours all pass the 4.5:1 contrast minimum with room to spare, and the search field, icon buttons and settings toggles now meet the 3:1 minimum for the contrast of a control's boundary.

Dialogs behave. The photo and value views and the settings sheet move focus in on open, keep focus inside while open, close on Escape, and return focus where it came from.

Errors and connection changes are announced. Error messages are announced when they appear, and the iPhone app tells VoiceOver when it goes offline, when it is reconnecting, and when content is ready.

Inputs are labelled. The text fields and toggles on the feed screen and in Settings have real labels rather than relying on placeholder text alone, and every page has a page language and a unique descriptive title.

Known gaps

These are real and currently unfixed. They are listed roughly in the order they would affect someone.

No screen-reader testing on a real device. Everything above about VoiceOver is derived from reading the code. Announcement order, rotor behaviour and how the feed reads while it updates have not been observed on an iPhone. This is the gap most likely to be hiding others.

Save and Pass cannot be reached by keyboard from the feed. On a touch screen those two buttons only appear on hover, so they are deliberately kept out of the keyboard tab order rather than leaving keyboard focus landing on an invisible control. You can still save or pass from a listing's detail view, which is fully reachable. This is a workaround, not a fix.

Text scaling is capped at 180%. The iPhone app scales web text from 85% up to 180% of normal. iOS's largest accessibility size is considerably bigger than that, so at the very largest settings CurbWorth's text will be smaller than the rest of your phone. The cap is there because the layout has not been checked at every size; raising it safely needs visual testing that has not been done.

The web app on its own does not follow system text size. The scaling above is done by the iPhone app. If you open CurbWorth in mobile Safari instead, its text sizes are fixed and will not follow your system setting. Browser zoom still works.

Some status messages still repeat. Background updates no longer announce themselves when nothing changed, but a few other status messages still write to the announced region and may be read out more often than is useful.

Focus is not always restored after an update. When the list rebuilds, focus and scroll position are restored for the controls we can identify. Focus on anything else can still be lost to the top of the list.

The countdown pause does not persist. Pausing it lasts for the session; reloading starts it ticking again.

Listing cards with a freshness band still have a low-contrast edge. Cards carrying a "Hot" or "Fresh" band keep their original border colour, which does not meet the 3:1 boundary minimum against the card background. The band itself is also backed by a word, so the information is not lost, but the card outline is faint.

Not every control boundary was re-checked. The contrast fix covers the search field, icon buttons, cards and settings toggles. Some smaller elements, such as filter chips, still use the quieter divider colour and have not been individually measured.

One touch target is still short. The unsave control on a saved listing meets the 24×24 pixel minimum, but its larger 44-point touch area is clipped by the card's edge, so it is smaller than Apple's recommendation.

No Windows High Contrast or forced-colours testing. Not relevant to the iPhone app, and untested for the web app.

Who publishes this

CurbWorth is operated by Heathrow Andrews, an individual, in Portland, Oregon, USA. Accessibility questions and reports go to [email protected].

Compatibility

CurbWorth's iPhone app displays its own web interface, so accessibility depends on both the app and the web layer. It is built for current iOS. It has not been tested with switch control, voice control, or braille displays.

If something here blocks you

Tell us and we will treat it as a defect, not a feature request. If a barrier stops you using CurbWorth at all, say so plainly in the email and describe what you were trying to do — we would rather hear it than have you assume it is already known. This page is updated as gaps close, and the date at the top says when it was last checked against the code.