Accessibility

Accessibility statement for kimoun.com — WCAG AA target, tests performed and known non-conformances.

Commitment  

Kimoun is committed to making its website accessible to people with disabilities, in line with the Web Content Accessibility Guidelines (WCAG) 2.1, Level AA.

This document describes the tests performed, corrections applied and known limitations as of its publication date (May 2026).


Scope of the audit  

The audit covers the full public site kimoun.com, including:

  • the homepage and service pages (landing pages)
  • reusable components: navigation, forms, accordions, grids, cards, and the cookie consent banner
  • the blog section: article list, individual article pages, editorial elements (alerts, lists, code blocks, footnotes)

Tests performed  

Automated analysis  

Pages were audited with axe-core 4.9.1 (WCAG accessibility engine) via direct browser injection. Tests cover Level A and AA violations.

Manual keyboard review  

A full keyboard traversal was conducted on the component reference page (/components-reference/):

  • Tab / Shift+Tab navigation across all interactive elements
  • activating buttons, links and FAQ accordions with Enter and Space
  • closing the cookie consent modal with Escape
  • verifying tab order and focus visibility at every step

Visual non-regression tests  

30 Playwright screenshots (desktop 1280 px, tablet 768 px, mobile 375 px) were taken before and after each round of corrections, covering all templates: homepage, sample landing, blog list, blog articles, and the quote form page.


Corrections applied  

CorrectionDescription
Global focus ringVisible focus indicator on all links via :focus-visible — petrol-700 colour (4.87:1 contrast ratio on white)
Form focus ringBorder and petrol shadow on input fields when focused via keyboard
FAQ accordion focus ringIndicator added to the .kb-faq__button toggle
Cookie consent bannerinert attribute applied to page content on load — prevents focus from passing through the overlay
Cookie consent modalActive focus trap during modal opening; focus restored to the triggering element on close
HeroDynamic aria-labelledby linked to the section’s <h1>
Services gridFixed an aria-labelledby mismatch between the section and its heading
Logo stripConditional aria-labelledby based on heading presence
Carousel and logo strip imagesExplicit width/height on replacement images (CLS reduction)

Editorial content — blog articles (pass 6 — EA)  

CorrectionDescription
GitHub-style Markdown alertsTitle text colour strengthened by alert type: note petrol-700, tip #166534, warning #92400e, caution brick-700
Categories and labelsColour changed from brick-500 to brick-700 (5.1:1 contrast ratio on white)
Code blocksAdded color: inherit to avoid overriding Chroma syntax highlighting colours
Article card datesReplaced opacity (0.6) with an explicit neutral-500 colour (5.9:1 contrast ratio on white)
Task list checkboxesAdded aria-hidden="true" programmatically — these checkboxes are purely decorative in articles

Known non-conformances  

The following items have residual limitations. A correction was not applied because it falls outside the current pass scope or depends on a third-party system.

ElementTypeReason
process_steps componentaria-allowed-roleThe Bookshop component uses a non-permitted ARIA role on its container. Correction deferred — Bookshop structure change is out of scope for CSS passes.
Floating WhatsApp buttonregion landmarkThe button is part of the global shell (outside Bookshop composition). The fix would require editing the shell partial; deferred to a dedicated pass.
Chroma syntax highlighting coloursVariable contrastChroma generates inline styles produced by the Hugo engine. These colours cannot be overridden by project CSS without breaking code readability. Not corrected — third-party system.

Lighthouse Accessibility scores  

Score measured after corrections (Lighthouse, desktop mode):

  • Homepage: 95 / 100
  • Service pages: 95 / 100
  • Blog articles: 95 / 100

Contact  

To report an accessibility issue or request an accommodation:

We aim to respond within 5 business days.

Discuter sur WhatsApp