Accessibility
lucid-lint is a cognitive-accessibility tool. The docs site you are
reading is its first proof of concept. If the site itself is not
comfortable to read for the audiences the project claims to serve, the
pitch does not hold.
This page lists the bar, the controls, and the credits.
The bar — WCAG 2.2 Level AAA
WCAG (Web Content Accessibility Guidelines) is the international standard for web accessibility. It defines three conformance levels; AAA (the strictest) is the ceiling, not the floor.
The stated bar for this site is WCAG 2.2 Level AAA. In practice:
- Normal body text clears a contrast ratio of 7:1 against its background.
- Large text and UI chrome clears 4.5:1.
- Interactive targets are at least 44 × 44 px.
- A skip-to-content link is the first focusable element on every page.
- The focus ring is visible and does not rely on colour alone.
- Motion respects
prefers-reduced-motion: reduceabsolutely — no decorative animation, no parallax, no auto-playing content. - Keyboard navigation reaches every interactive surface in a logical order.
Both themes (Lucid light and Lucid dark) clear AAA for body text (14:1 and above) and inline links (7.4:1 and above).
Where AAA is impractical — for example contrast on a third-party
embed — the exception is documented in
.impeccable.md.
Known limitations
The first audit pass (2026-04-22) scored 17 / 20 against the AAA bar: 0 blockers, 2 P1 items, 3 P2, 2 P3. Each open item below has a roadmap ticket; fixes land in subsequent v0.2.x slices.
- Skip link and language switch are JS-rendered. Both the
“Skip to main content” link and the EN / FR header switch are
injected by
lucid-navigation.jsat end-of-body. Users with JS disabled, or readers on the pre-paint frame, do not see them. WCAG 2.4.1 (Bypass Blocks) asks for the skip link without JS. Atheme/index.hbsoverride that server-renders both is tracked as F35a. - The French page renders under
<html lang="en">at build time because mdBook supports a single book-wide language. A small script correctslang="fr"on load; screen readers that respect dynamic changes pick it up. Proper per-locale builds land with the full French mirror in F25. - mdBook’s built-in theme picker still lists Light / Rust / Coal / Navy / Ayu as menu items. Each resolves to either Lucid light or Lucid dark via the theme CSS, but the picker labels themselves are a mdBook concern. Brand-owned labels are tracked as F26 in the roadmap.
Reading preferences
A small set of controls tunes the site to your own reading profile.
Selections persist across visits via localStorage.
Font
Three choices, picked from the Introduction page demonstrator or from the reading-preferences popover (on the way — see the roadmap).
| Option | When it helps |
|---|---|
| Atkinson Hyperlegible Next (default) | A humanist sans built by the Braille Institute for maximum character differentiation. Reads well for most readers and especially for readers with low vision or reading-speed fatigue. Every surface on the site uses it by default. |
| Standard | The same Atkinson for body prose, paired with Literata serif for headings — a traditional bookish pairing for readers who prefer serif display contrast. |
| OpenDyslexic | A typeface whose letters are weighted at the bottom to reduce swapping and rotating. Preferred by some dyslexic readers; not universally helpful. |
Line spacing
Adjustable from 1.4 to 2.0 in 0.05 steps. The default is 1.7 — the research range for low-fatigue reading sits between 1.6 and 1.8.
Text size
Adjustable from 90 % to 130 % in 5 % steps. Browser zoom is honoured in addition.
Keyboard shortcuts
The site inherits mdBook’s keyboard map:
| Key | Action |
|---|---|
/ or s | Focus the search box |
← | Previous chapter |
→ | Next chapter |
Escape | Close the search or theme popover |
Tab | Follow the focus order. The first focusable element is always the Skip to main content link. |
Typography credits
Every font on the site is self-hosted under
docs/src/_fonts/.
All four ship under the SIL Open Font License 1.1, issued by the Summer Institute of Linguistics.
- Atkinson Hyperlegible Next — Braille Institute of America. Commissioned
for low-vision readers; designed to maximise the differentiation between
characters that commonly get confused (
rnvsm,Ivslvs1). - Literata — TypeTogether, commissioned by Google for Google Play Books. A contemporary serif with generous x-height tuned for long-form reading.
- Commit Mono — Eigil Nikolajsen. A monospaced face designed for code reading, with distinctive digits and unambiguous punctuation.
- OpenDyslexic — Abelardo Gonzalez. A public-domain typeface for readers who find weighted-bottom letterforms easier to track.
Dogfooding
The prose on this site is linted by lucid-lint itself at the public
profile, via just dogfood. A page cannot regress below the bar the
tool sets for its users without the build failing.
Reporting an accessibility issue
If something on this site is harder to use than it should be, open
an issue on
GitHub
with the accessibility label. Reports are triaged against the
v0.2 milestone unless they block a release. If an email route suits
you better, write to the maintainer listed in
CONTRIBUTING.md.
Audit cadence: a full AAA sweep runs at least once per minor release (v0.1, v0.2, …). The last pass was 2026-04-22. Findings and their status live in the roadmap under the F35 family.