Accessibility
Last updated October 20, 2026.
The standard we meet
This website is built to WCAG 2.2 Level AA (opens in a new tab). That is the level these pages are written and checked against.
Home, Projects, Services, FAQ, Contact, Privacy Policy, Terms, and this page are checked with axe-core. A serious or critical problem fails that check.
Pages
The pages are Home, Projects, Services, FAQ, Contact, Privacy Policy, Terms, and this page. A missing address shows a short message and a link back to Home.
Projects can be filtered by category. Each filter is a button that reports whether it is pressed, and the selected category is announced. FAQ questions open and close from the keyboard. The contact form and the services request say whether the message was sent.
Keyboard and structure
The page language is English. The first control is Skip to content. It stays off screen until it receives keyboard focus, then it appears at the top of the window. Activating it moves focus to the main content, past the header.
The header, main content, and footer are separate landmarks. The header marks the current page. On a small screen, the menu opens and closes from labeled controls.
Keyboard focus is a visible outline. Buttons, header links, form fields, and the footer controls are at least 44 pixels tall. The layout works from a narrow phone width upward, and the sticky header leaves room so a focused control is not hidden underneath it.
Text, images, and links
Body text and the quieter text under it are set for a contrast of at least 4.5 to 1 against the page background, in both the light theme and the dark theme. The footer control switches themes, and that choice stays on this device.
Images that carry meaning have a text alternative. The logo beside the site name is decorative, because the name is already there. A link that leaves this site is announced as opening in a new tab.
If your system asks for reduced motion, the moving client logos become a still grid, the hero background stays still, and smooth scrolling stops.
Forms and cookies
Each form field has a visible label. Required fields are announced. An error is described next to the field, and the first field with an error receives focus. Success and failure are announced. If a form cannot be sent, the message includes [email protected].
The spam check is Google reCAPTCHA. It loads only after you accept cookies, and it uses Google's own widget. Email us if you would rather skip that check.
The cookie notice has a heading, a switch for analytics cookies, and buttons to accept all cookies or save a preference. Analytics cookies are on until you turn them off. While the notice is open, the page leaves room so the footer is not trapped behind it.
If something is hard to use
Email [email protected] or call 771-208-4244. Say which page you were on and what you were trying to do. Lee Whitworth is fluent in American Sign Language and English.