Accessibility
Last updated 4 October 2026
This site aims to meet WCAG 2.1 Level AA. This page says what has actually been done rather than claiming compliance in the abstract.
What has been done
- Color contrast is measured, not estimated
- Text meets at least 4.5:1 against its background. Where our brand color falls short of that as text, a darker shade of the same hue is used for anything that is itself text, and the brand color is used only as a fill carrying dark text.
- Every control is a real control
- The calculator's choice cards and segmented buttons are styled radio inputs, and the size selector is a range input. They are reachable and operable by keyboard, announced correctly by screen readers, and work with browser form behavior, because they are the real elements rather than imitations of them.
- Nothing essential needs JavaScript
- Every calculator shows a priced estimate before any script runs. The FAQ accordion opens without scripts. Help text toggles on click rather than hover, so it is reachable on a touch screen.
- Structure is meaningful
- Headings are in order, form fields are grouped and labeled, breadcrumbs are marked up as navigation, and results update in a live region so a change is announced.
- Color is never the only signal
- Selected options change border, background and position, not just color. Roof pitch is shown as a diagram drawn to scale rather than a colored dot.
- Motion is respected
- The few transitions are disabled for anyone who has asked their system to reduce motion.
Known gaps
We have not had an independent audit. Third-party advertising is served by Google and we do not control its markup, so individual ads may not meet the same standard as the rest of the page.
Tell us
If something here is hard or impossible to use, we want to know and we will fix it. Email hello@localservicecalculator.com with the page, what you were trying to do, and the browser or assistive technology you were using. That last part usually makes the difference between a report we can reproduce and one we cannot.