Legal
Accessibility Statement
What we have actually built, what we know is imperfect, and how to get help if this site does not work for you.
Last updated: September 19, 2026
Our aim
We aim to meet WCAG 2.1 Level AA. This statement describes what we have done, and is honest about where we are less certain.
What we have built in
Keyboard
- A skip-to-content link is the first focusable element on every page.
- Every interactive element is reachable and operable by keyboard.
- Focus indicators are visible, using a 3px outline with offset rather than a removed default.
- The mobile menu closes with Escape and returns focus to the button that opened it.
- Jumping to an in-page anchor moves focus to the target, not just the scroll position.
Screen readers
- Semantic HTML5 landmarks throughout.
- One
<h1>per page and a logical heading order beneath it. - The FAQ accordion uses real
<button>elements witharia-expandedandaria-controls. - The mobile menu toggle reports its state and changes its label between "Open menu" and "Close menu".
- The site-wide notice bar uses
role="region", deliberately notrole="alert", which would interrupt screen reader users on every page load. - Decorative images carry empty
alt. Meaningful images carry descriptions. - The eave diagram is inline SVG with a
<title>and a full text<desc>, and its content is also written out in the surrounding prose.
Visual
- Text contrast meets or exceeds 4.5:1. The contrast values for our palette are documented in the site's stylesheet.
- Text resizes without breaking layout, and font sizes are fluid rather than fixed.
- Color is never the only way information is conveyed.
- No horizontal scrolling at mobile widths.
Motion
prefers-reduced-motionis respected and disables animations, transitions and smooth scrolling.- Nothing flashes, auto-plays or moves without user action.
Touch
- Interactive controls are at least 44×44 pixels, including footer links and navigation.
- The only exceptions are links inline within a sentence, which WCAG 2.5.5 explicitly exempts.
Without JavaScript
- All content is in the initial HTML. Nothing requires JavaScript to be readable.
- FAQ answers are visible by default and are only collapsed once JavaScript confirms it is running.
- Reveal animations are only armed after JavaScript loads, so content is never hidden if a script fails.
Known limitations
We would rather list these than claim perfection:
- The embedded map on the contact page comes from Google and we do not control its accessibility. All the information it conveys — the areas we serve — is also available as text and links on the same page and on our service areas page.
- We have not tested with every assistive technology. We have built to the standards and tested what we can. Real-world use will find things we missed.
- This site has not been audited by an independent third party. If we commission one, we will update this statement with the result, including anything it finds.
If this site does not work for you
The website is not the only way to reach us, and you should not have to fight it.
Call (720) 894-1857 and we will answer anything the site was supposed to tell you.
If a voice call is not accessible to you, text the same number. Text works well for this, and it is a genuine alternative rather than a token one.
If you hit a specific accessibility barrier on this site, please tell us what page you were on and what happened. We will fix it. Reports like that are more useful than any checklist.
Our services
Accessibility is not only a website matter. If you have mobility, sensory or communication needs that affect how a roofing job should be scheduled or communicated — advance notice of noise, written rather than verbal updates, particular access arrangements — tell us when you call and we will work to it.