Every link works. Even without JavaScript.
This site is built so that the content and the navigation function with a keyboard, with a screen reader, with animations disabled and with JavaScript turned off entirely. That is not a compliance box — it is a design constraint we set at the start and held to.
Short answer
- Target
- WCAG 2.2 AA
- No-JS
- Fully navigable
- Motion
- Respects setting
- Updated
- Jan 2026
Hit a barrier?
Tell us what happened and what you were using. Accessibility reports go straight to the people who can fix them, and we treat them as bugs rather than feedback.
Built in, not bolted on
- Semantic HTML with a single H1 per page and a logical heading order
- Every navigation item is a real link with a real href — nothing depends on a click handler
- The menu and every FAQ use native disclosure elements, so they open without JavaScript
- With JavaScript disabled, the full navigation renders inline at the top of the page
- The lead form is a real form that submits and validates server-side without JavaScript
- Visible focus outlines on every interactive element, never removed
- A skip-to-content link as the first focusable item on every page
- All decorative graphics marked aria-hidden; informative graphics carry titles
- Motion and marquees stop entirely when the reduced-motion preference is set
- Text reflows to 320 CSS pixels without horizontal scrolling
What we are still working on
- The tote anatomy diagram is an interactive SVG. Every hotspot has an equivalent labelled button beneath it, but the diagram itself is visual.
- The size comparator is a scale drawing. Its data is repeated as a table underneath so nothing is available only in the graphic.
- Wide specification tables scroll horizontally on small screens. They are marked up as proper tables with header cells and captions.
- We have not commissioned a third-party audit. We test with keyboard, screen reader and JavaScript disabled, and we would rather say that than imply certification.
Standard we aim at
We build toward WCAG 2.2 Level AA. We have not been independently audited against it, and we would rather state that plainly than publish a conformance claim we cannot evidence. Where we know we fall short, it is listed above.
Colour and contrast
The palette is a deep brand green with an acid chartreuse accent on paper and near-black neutrals. Body text and interface labels are set to meet AA contrast against their backgrounds. Colour is never the only way information is conveyed — form errors carry text, active states carry labels, and the size comparator repeats every figure in a table.
Reporting a problem
If something on this site prevents you from doing what you came to do, tell us. Email info@ibcrecyclingservices.com or use the form on this page, and describe what you were trying to do and what you were using — browser, screen reader, keyboard only. We treat these as defects and we will tell you what we did about it.
Alternative ways to reach us
We do not operate a telephone line. If email and web forms are difficult for you, write to us at the yard address on the contact page and we will respond in whatever format works for you.
What was built, and how it was tested.
Specific enough to be checkable. If any row here is wrong on your setup, that is a defect and we want to hear about it.
| Area | What we do | How it was tested |
|---|---|---|
| Navigation | Every item is a real link with an href | JavaScript disabled, links followed |
| Menu | Native disclosure elements inside the drawer | Keyboard only, JavaScript disabled |
| No-JavaScript fallback | The drawer renders inline at the top of the page | noscript stylesheet, JS disabled |
| Scroll reveal | Disabled without JavaScript so nothing stays hidden | JS disabled — all content visible |
| Floating quote button | A plain link to /quote when JavaScript is off | JS disabled |
| Forms | Real form posting to a server route; validation server-side | JS disabled, submitted end to end |
| Form errors | Summary list linking to each field, plus inline messages | Screen reader and keyboard |
| Headings | One H1 per page, logical order below it | Automated outline check |
| Focus | Visible outline on every interactive element, never removed | Keyboard traversal |
| Skip link | First focusable item on every page | Keyboard |
| Motion | Marquees and reveals stop with reduced-motion preference | OS setting toggled |
| Reflow | Content reflows to 320 CSS pixels without horizontal scroll | Device emulation at 320 and 390 px |
| Images | Decorative marked aria-hidden; informative carry titles | Manual review |
| Tables | Proper header cells and captions; scroll inside their own container | Manual review |
| Limitation | Mitigation | Status |
|---|---|---|
| The tote anatomy diagram is an interactive SVG | Every hotspot has an equivalent labelled button beneath it | Mitigated |
| The size comparator is a scale drawing | All of its data is repeated in a table underneath | Mitigated |
| Wide specification tables scroll horizontally on small screens | Marked up as proper tables with headers and captions | Accepted |
| No third-party audit has been commissioned | We test with keyboard, screen reader and JS disabled | Open |
| The Impact Lab requires JavaScript | Its output tables are duplicated as static content on the page | Mitigated |
Questions we get about this
01Does everything work without JavaScript?
02Have you had a third-party audit?
03The interactive diagrams are visual — is there an alternative?
04How do I report a problem?
05Is there an alternative to email and web forms?
Report it and we will fix it.
Accessibility issues go to the same inbox as everything else and get treated as bugs, not suggestions.