Skip to content

Accessibility

Built to be used. By everyone.

Precision means the thing works as specified, for the person using it. That applies to a rifle and it applies to a website. Here is where this one actually stands — measured, not asserted.

The standard we hold this site to

We target WCAG 2.1 Level AA — the Web Content Accessibility Guidelines published by the W3C. It is the benchmark the U.S. Department of Justice points to under the Americans with Disabilities Act, and it covers the WCAG 2.0 Level AA standard that Section 508 incorporates for federal procurement.

We will not tell you this site is “fully compliant.” No website of any size is finished, there is no such thing as an official ADA certification, and any vendor who promises you one is selling something. What we can tell you is exactly how we test, what that testing has changed, and what we know is still outstanding.

How we test

Automated checks
GitHub checks on pull requests and pushes to main scan the generated pages with axe-core against the WCAG 2.1 A and AA rule set. Detected violations fail the check. The age verification screen is scanned separately on pages that use it. These checks catch machine-detectable issues; passing them does not establish that every visitor can use the site.
Keyboard, layout, and manual review
Additional scripts check heading structure, reflow at 320px, visible keyboard focus, focus handling in the menu and cart drawer, the edges of form fields, and that nothing keeps moving without a way to stop it. The September 2026 manual review also covered keyboard navigation, layout at 200% zoom, and image descriptions. The November 2026 review added a measurement of text over photographs and the hero video, and walked every form, the shop, and the cart by keyboard. Automated checks cannot judge every barrier. An end-to-end screen reader review is still outstanding.

What that testing changed

The hero video can be stopped
It used to play and loop with no way to turn it off. It now stays paused for anyone whose system asks for reduced motion, and there is a pause control on the video for everyone else.
Error messages are readable
Form validation and error text used a deep red that did not carry enough contrast against the dark background — the text you most need to read was the hardest to. It was re-coloured across every form on the site.
Keyboard focus is always visible
Two search and signup fields showed no focus indicator at all, and several others were too faint to see against a dark surface. Every interactive element now shows a clear focus ring.
Headings follow a real structure
Heading levels skipped a step in the footer, which made the page structure confusing to navigate by headings. Levels now run in order on every page.
The mobile menu no longer traps or loses keyboard focus
When the menu was closed its links were still in the Tab order, invisible off-screen, and closing it with Escape left focus on a hidden button. The closed menu is now inert and hidden from assistive technology, and closing it hands focus back to the menu button.
Forms announce that they worked
Five forms replaced themselves with a success message silently, so a screen reader user who had just pressed the button heard nothing. Every success message is now a live region that also takes focus when it appears.
The app pages fit a 320-pixel screen
The header on the ballistics-app pages was 21 pixels too wide for the narrowest supported viewport, forcing sideways scrolling. It wraps now.
Forms say what is missing
Pressing Next on the build inquiry with an answer missing only scrolled the page, and the message on the choice buttons was invisible to screen readers. Each missing answer now gets a written message, and focus moves to the first one.
Nothing moves without a way to stop it
The status strip at the top of the page now has a pause button, and the small pulsing and scrolling cues stop on their own within five seconds.
The home page headline reads on a phone
On a phone the headline sat over the brightest part of the sunset photograph, and parts of it fell well below the contrast standard. The photograph is now darkened behind the text.
Shop and cart changes are announced
Filtering or searching the shop, and changing or removing a cart item, used to happen silently. Each now announces the result, and removing an item no longer drops keyboard focus.

What we know is still outstanding

No screen reader pass yet
The site has not yet been tested end to end with NVDA or VoiceOver. Automated tools cannot judge whether what a screen reader announces actually makes sense in sequence, and this is the single highest-value check still outstanding.
Checkout is a separate system
When you check out, you move to our store platform, which is separate software. Its cart, checkout, and account pages pass the same automated scan, including a checkout with an item in the cart. Store software can change underneath us, so we re-check after every change to checkout. If you hit a barrier there, tell us and we will complete your order another way.

Tell us

Found a barrier? We want to know.

If any part of this site stopped you from doing what you came to do, email us. Tell us the page, what you were trying to do, and what happened — and if it helps, the browser or assistive technology you were using. None of that is required. A one-line “the shop filter doesn’t work with my keyboard” is plenty.

We aim to reply within two business days. If something is blocking a purchase or a build inquiry, say so and we will finish it with you directly — by email or on the phone — while we fix the site.

Report a barrier

Last reviewed