Skip to main content

This page is available in English only. The English version is the binding one.

Accessibility

Accessibility Statement

Cairn is committed to making its service accessible to everyone, including people who use assistive technology. This page describes our current conformance status, known limitations, and how to reach us if you encounter a barrier.

Last reviewed: June 6, 2026Standard: WCAG 2.2 Level AA

Target standard

Cairn targets WCAG 2.2 Level AA conformance, the current W3C Recommendation (October 2023). No automated tool alone determines WCAG conformance. Per W3C guidance, our audit combines automated signals with manual keyboard, focus, ARIA, and semantic structure review.

Scope

This audit covers all public-facing pages and authenticated flows:

  • Landing page, How it works, About, Pricing, Contact
  • Legal pages: Privacy Policy, Terms of Service, Cookie Policy, Refund Policy
  • Authentication: Log in, Reset password
  • App shell: Assessment chat, Plan dashboard, Progress tracking
  • Account settings

What passes

  • Skip navigation: A visible “Skip to main content” link appears as the first focusable element on every page.
  • Landmarks: Every page uses <header>, <nav>, <main>, and <footer> with distinct ARIA labels where multiple navs appear.
  • Heading hierarchy: One <h1> per page with correct descending hierarchy.
  • Forms: All inputs are associated to visible labels. Error messages are linked to the specific field via aria-describedby. Success and error states are announced to screen readers via role="alert" or aria-live.
  • Modals: All dialogs use Radix UI Dialog, which provides automatic focus trapping and focus-return on close. Escape dismisses all modal overlays.
  • Icon buttons: Every icon-only button has an explicit aria-label. Decorative icons carry aria-hidden="true".
  • Motion: All CSS animations are wrapped in @media (prefers-reduced-motion: reduce) blocks. JavaScript-driven scroll and animation behavior is gated on the same preference.
  • Keyboard navigation: Locked or loading nav items expose their state via aria-disabled and aria-busy. Account dropdowns close on Escape with focus returned to the trigger.
  • Current page: Active links carry aria-current="page" in all navigation regions.

Known limitations

C01ResolvedDark-mode secondary text contrast

The --muted-foreground token in dark mode has been adjusted and now renders at a lightness that meets the WCAG 1.4.3 minimum of 4.5:1 for normal text on the dark background. This affected secondary labels in the sidebar, settings, and metadata text.

L01ResolvedSocial media footer links removed

The placeholder X, Instagram, and LinkedIn footer links (previously non-functionalhref="#" anchors) have been removed, so no dead links remain in the footer. Real social links may return once accounts are established.

P01PartialTouch target size

Small icon buttons (Add child, Delete child) have been updated to meet the WCAG 2.5.8 minimum of 24×24 CSS pixels. The stricter 44×44 px target (WCAG 2.5.5, Level AAA) is not yet met.

S07EnhancementSettings navigation group labels

Section dividers in the settings navigation (“Profile”, “Plan & billing”, etc.) are visual only and are not programmatically associated with the items they group. Future work will addrole="group" with aria-label.

Testing methodology

  1. Static code review: all page, component, and CSS files audited for semantic structure, ARIA attributes, label associations, live regions, and motion handling
  2. Keyboard testing: manual verification of Tab order, focus visibility, modal traps, and Escape-key behaviour
  3. Automated signal: Lighthouse and ESLint (not treated as proof of conformance)
  4. Pattern verification: Radix UI components verified against ARIA Authoring Practices Guide

Per W3C guidance: no automated tool alone determines WCAG conformance. Items requiring live screen-reader testing (NVDA, VoiceOver) and real-device mobile testing are not yet verified.

Contact

To report an accessibility barrier or request an accommodation, email us at hello@cairnplan.com. We aim to respond within 3 business days.

Accessibility : Cairn