§ L.3Legal / Accessibility
Built to work
with the script off.
Every page, every link, every menu level and every form on this site works with JavaScript disabled. That constraint was chosen deliberately, because it happens to produce a site that also works well with a keyboard, a screen reader and a slow connection.
- Target
- WCAG 2.2 AA
- Works without JS
- Entirely
- Last reviewed
- 1 October 2025
- Known gaps
- Listed below
§ L.3.1What works without JavaScript
Everything, and here is specifically how.
Progressive enhancement is not a slogan here. Each feature below is implemented so that the scripted version is a refinement of a working baseline rather than the only version.
| Feature | Without JavaScript | With JavaScript |
|---|---|---|
| Main menu | Opens, closes and locks page scroll via a hidden checkbox and CSS :has() | Also closes on navigation, dismisses on Escape, and auto-expands the active group |
| Menu submenus | Native <details> disclosures, fully operable | Identical, with the active group pre-opened |
| Lead forms | Post natively to the API route, which validates and redirects | Submitted by fetch with inline validation and an in-page confirmation |
| Form validation | Server-side, with errors shown on the page you returned to | Also live per-field, as you leave each field |
| FAQ accordions | Native <details> elements | Identical — no script involved at all |
| Sticky quote button | A plain link to the quote page | Opens a full-screen overlay with scroll lock and focus trapping |
| Reclaim Ledger | Renders with its default quantity and path, figures and certificate present | Interactive sliders, presets and animated counters |
| Scroll reveals | Content is simply visible | CSS scroll-driven animations where the browser supports them |
| Impact ticker | CSS animation, no script | Identical |
There is no content on this site that is only reachable with scripting enabled, and no link that depends on a click handler.
§ L.3.2The detail
Keyboard, screen reader and motion.
Keyboard
- A skip link to the main content is the first focusable element on every page.
- Focus is visible on every interactive element, as a two-pixel outline in the accent colour with an offset, rather than being suppressed.
- The menu toggle responds to Enter and Space, and the drawer dismisses on Escape with focus returned to the toggle.
- The full-screen quote overlay traps focus while open, dismisses on Escape, and returns focus to whatever opened it.
- Disclosure widgets are native elements and behave as the platform expects.
Screen readers
- One
h1per page, with a heading hierarchy that does not skip levels. - Decorative graphics — the cage mesh, rulers, hazard bands and all SVG figures — carry
aria-hidden, so they are not announced. - Form fields have real labels, and an invalid field is marked
aria-invalidand linked to its error message witharia-describedby. - The form error summary is a live region, so the problems are announced when a submission is blocked.
- Breadcrumbs use an ordered list with the current page marked
aria-current. - The data tables use real
thelements with scope, and carry captions.
Motion
- All scroll-driven reveals are wrapped in a
prefers-reduced-motionquery, so they do not run when reduced motion is requested. - The impact ticker and all transitions stop under reduced motion.
- The Reclaim Ledger counters jump straight to their final value under reduced motion.
- Nothing on the site flashes, strobes or auto-plays.
Colour and contrast
- Body text on dark surfaces and on light surfaces both meet or exceed the AA contrast ratio for normal text.
- Information is never conveyed by colour alone — form errors carry text, grade tables carry labels, and chart bars carry values.
- Text scales with browser zoom to 200% without loss of content or function.
Known gaps
Stated rather than omitted, because a conformance claim with no exceptions is rarely true.
- The Reclaim Ledger's range slider is operable by keyboard but has no direct numeric entry. The preset buttons mitigate this and a numeric input is planned.
- Some wide reference tables require horizontal scrolling on narrow screens. The scroll container is focusable and keyboard-scrollable, but a table that wide is still harder to read on a phone.
- Scroll-driven reveal animations rely on CSS scroll-driven animation support. In browsers without it, content is simply visible — which is a graceful outcome but not the intended one.
- We have not commissioned an independent third-party audit. The review behind this page was internal.
- Standard targeted
- WCAG 2.2 Level AA
- Conformance claim
- Partially conforming — gaps listed above
- Assessment method
- Internal review, keyboard and screen reader testing
- Last reviewed
- 1 October 2025
- Report a problem
- info@ibc-pickup.com
- Response target
- 5 business days
§ L.3.3If something does not work
Tell us and we will fix it.
Accessibility reports go straight to whoever maintains this site, and they get priority over feature work.
Please include what you were trying to do, what happened instead, and — if you can — the browser and any assistive technology you were using. A URL helps enormously.
If a page on this site is preventing you from doing business with us, email info@ibc-pickup.com and we will handle your enquiry directly by email while we fix the page. You should never be blocked by our website from selling us totes or buying them.
Alternative formats
Need any of our reference material in another format?
The size guide, grading criteria and impact factors can be supplied as plain text or a structured document on request, at no cost.
See also: privacy policy · terms of sale
