Accessibility at RaceAlly
Grassroots racing belongs to everyone who shows up, and so should the site. Below is what we actually hold ourselves to, what we check by hand, and where we know this site is not good enough yet.
This site has not been reviewed or audited by an independent accessibility firm, and we hold no accessibility certification. Everything below describes our own testing. WCAG 2.1 Level AA is the standard we are working toward, and we are not claiming to have reached it.
Enforced on every change
These three are checked automatically every time we change the site. A change that breaks one fails our tests and does not ship. They are a floor, not a full standard — but they are real.
The page declares its language
Every page is served with a language set on the document, so a screen reader announces it in the right voice instead of guessing.
Every image has alternative text
Every image on this site carries an alt attribute describing what it shows. An image added without one fails the test suite, so the change does not merge.
Every form field has a visible, bound label
Each field in our inquiry form is a standard HTML control tied to a label that is visible on screen — not a placeholder standing in for one. A field added without its label fails the same suite.
How the site is built
These are choices in the code rather than automated checks. They are true of the site today; we verify them by reading and using it.
Real structure, not styled boxes
Pages are built from a real header, navigation, main region, and footer, with headings in order. Both navigations carry a name, so a screen reader can tell the primary menu from the footer one.
Keyboard use and visible focus
Links, navigation items, buttons, and form fields all show a visible focus ring when you tab to them, so you can see where you are. Nothing on this site traps focus, and no page needs a mouse to read.
The words are in the page before JavaScript runs
Pages are rendered on the server, so the content is present in the HTML itself rather than being assembled in your browser.
Nothing moves on its own
There are no carousels, no autoplaying video or audio, and no pop-up interstitials. The only motion is a colour change on hover.
Where we know we fall short
Some secondary text is low contrast
Supporting copy and footer links are set at a reduced opacity against a light background. We measured the footer link colour at roughly 3.5:1, below the 4.5:1 ratio normal text should meet, and the smallest print is lower still. This is a real defect on our list, not a design choice we are defending.
The inquiry form needs JavaScript
The form on our sponsor and media-kit pages submits from the browser, so with JavaScript turned off the page still reads but the form will not send. If that is you, email Chase@FarrisFactory.com instead and it reaches the same people.
Sign-in and the waitlist are a third party
Beta sign-in and the waitlist are hosted by Clerk, our authentication provider. Those screens are their component, not ours, and we cannot change their internal keyboard and screen-reader behaviour.
Our linter does not block a release on accessibility
Our build surfaces some accessibility problems as warnings, but warnings do not stop a release. The three items above are the only ones that hard-fail a change today. We would rather tell you that than let you assume more is caught than is.
Tell us
If something here blocked you, we want to know and we will fix it. Email Chase@FarrisFactory.com with what happened and what you were using — browser, screen reader, phone or desktop. We treat it as a defect, not a suggestion, and shipped fixes show up on our changelog.
For how we handle your data, see our Privacy Policy; for how we protect it, our Security page.