Accessibility Statement
This statement is about vibecoderplayground.ai — this website — and it says three things: the standard we are working toward, what we already know is not there yet, and how to tell us when something stops you. It is written to the W3C Web Accessibility Initiative shape, it is deliberately short on reassurance, and the gaps it lists were measured before they were written.
What we do not claim
We make no claim of ADA compliance and no claim of WCAG conformance, and we do not describe this site as accessible. Those are conclusions somebody else reaches after testing, not a status a site owner can issue about itself. No part of this site has been independently audited, and nobody who depends on assistive technology has tested it for us. Where that leaves a question unanswered, the word below is ungraded — nobody has looked — and it is not a synonym for fine.
We also do not use an accessibility overlay, widget, or toolbar. Those products do not fix the underlying page and they do not settle the legal question either way.
The standard we aim at
We are building toward WCAG 2.1 Level AA — the Web Content Accessibility Guidelines published by the W3C. That is the benchmark US courts and settlement agreements have generally referred to, and it is the target we hold our own audit tooling to. Aiming at it is a commitment about where we are going, not a claim about where we are.
Known gaps, measured September 14, 2026
The numbers below were measured before this section was written, not after. They come from running the accessibility category of our own audit engine over this site — every page it publishes, which on the day of the measurement was 111 of the 117 HTML files in the source tree; the other six are local-only experiments nobody can reach. Each of the four barrier classes below is a count over a denominator, because "spot-checked" and "no obvious problems" are not measurements.
- Images with no text alternative: 0 of 257 (WCAG 1.1.1). 239 carry alt text; 18 are marked decorative with an empty
altattribute, which is the correct way to do it. Both inline SVG graphics on the site sit inside a container hidden from assistive technology, so neither needs a name. Ungraded: whether an alt text that exists is a good one — a machine cannot read a picture and tell you the words are wrong — and images that CSS paints as a background, and images JavaScript inserts. - Form fields with no label: 0 of 98 (WCAG 1.3.1, 3.3.2, 4.1.2). Each of the 98 inputs, selects and text areas in the site's own markup has a label a screen reader can announce — an
aria-label, anaria-labelledby, a<label for>that resolves to it, or a<label>wrapped around it. A placeholder was not counted as a label. Ungraded: the fields our free tools build in the browser, which are not in the source a scan can read, and whether an error message is announced rather than only shown. - Keyboard barriers: 1 found. The home page has no "Skip to content" link. It is built on a different layout from the rest of the site and it was missed, so a keyboard user reaching it tabs through the header on every visit (WCAG 2.4.1) — 1 of the 111 pages that open with site chrome. What else was measured and is clean: no element is wired to a click without also being reachable by keyboard (0 of 0 in the source), no page uses a positive
tabindexto reorder tabbing, and all 111 pages declare their language. Ungraded, and not implied by any of that: tab ORDER, whether the focus indicator is actually visible everywhere, focus traps, and operation by keyboard alone. Those need a browser and a person, and nobody has run them. - Text contrast below AA: 0 of 44 color pairs (WCAG 1.4.3, 1.4.11). An automated gate walks every page, follows the stylesheets each one loads, and fails the build when body text falls under 4.5:1 or a control's own boundary falls under 3:1 against the ground behind it. It reads opacity as part of the measurement, and it grades text inside an SVG at the size that SVG renders at rather than the size it declares. It has already caught and forced the fix of a primary button sitting at 2.60:1. Ungraded: 329 color declarations in 11 inline
<style>blocks across 11 pages, 20 declarations whose color comes from a gradient orcolor-mix(), one stylesheet no page links, and any color JavaScript sets — including one SVG diagram drawn at runtime.
Motion is the fifth thing we measured, and it is the worst result on this page. Across the published pages the same run found 23 sources of movement. 5 are provably switched off for a visitor whose system asks for reduced motion; 18 are not. They are four smooth-scrolling jumps (on the home page, the free tools, and the "where are you stuck" page), one effect driven directly by scroll position, and 13 animations driven from custom properties on the home page. The site does carry a reduced-motion block with 20 rules in it, and four of those rules are written without !important, so a later or more specific rule can beat them — treat those as probable rather than proven. A reduced-motion preference is respected in part, not respected in full (WCAG 2.3.3).
Ungraded across the whole site, and nothing above should be read as covering it: we have not tested with NVDA, JAWS, VoiceOver or TalkBack; we have not tested at 200% zoom or at a 320px viewport; no independent auditor and no disabled user has reviewed this site for us; and we publish no audio or video, so there are no captions to check.
This section is kept honest by machine, not by memory. npm run test:a11y-website re-derives all four counts on every run and fails the build if this section is emptied, loses its date, drops one of the four classes, or claims fewer defects than the site actually has. When a gap is fixed, the number here and the date above it both have to move before the build goes green again.
Tell us about a barrier
If something on this site stopped you, we want the report. You do not need to know which guideline it is, and you do not need to be a customer.
Email contact@vibecoderplayground.ai. If you can, say what page you were on, what you were trying to do, and what happened instead — and what you were using to browse, because that is usually the fastest way for us to reproduce it.
We aim to reply within 5 business days, and that reply will tell you what we found and when we expect to fix it. If a fix is going to take a while, we will say so and offer another way to get what you came for. We do not treat a report as a complaint to be managed.
By post: Vibe Coder Playground LLC, 7901 4th St N, STE 300, St. Petersburg, FL 33702, USA.
Technical notes
This site relies on HTML, CSS, and JavaScript. It is built to work in current versions of Chrome, Edge, Firefox, and Safari on desktop and mobile. Most pages are static HTML and their content is readable with JavaScript turned off; the interactive pages — the free tools, the search box, and the voting pages — need it.
The desktop application is a separate product with a separate interface, and this statement does not cover it.
How this statement is kept honest
The measurement above is not a one-off audit somebody filed and forgot. It is a gate in the same automated suite as the rest of our tests: it re-counts the images, the form fields, the keyboard targets and the color pairs on every run, and it fails the build if this page claims fewer problems than it finds. A regression stops a release rather than waiting for someone to notice, and a gap that gets fixed leaves this page red until the number and the date are corrected.
What that gate cannot do is see anything a browser has to render or a person has to try — which is why the ungraded lines above are stated in the same detail as the measured ones. This page is reviewed whenever the measurement changes and at least once a year. The dates at the top are the real ones.