RelayCTX Creative ACCESSIBILITY.md
RelayCTX Creative · Document

ACCESSIBILITY — relay-creative audit notes (WCAG 2.2 AA)

331 words · 2 min View raw Source History

ACCESSIBILITY — relay-creative audit notes (WCAG 2.2 AA)

Date: 2026-07-17 · Status: audit complete, fixes pending Cross-repo program: relay-board/docs/operations/accessibility-program.md

Scope: the user-facing deliverables — production error pages (errors/), transactional email templates (email/platform/, 42 templates), and the public-bound index.html / app-screens.html. Brand internals/briefs excluded.

errors/ (production Caddy error pages — public)

Contrast and focus are fine (careful dark tokens; solid focus ring). Structural gaps in 404.html, 500.html, 503.html:

SevFindingWCAGFix
MediumNo heading — title is <div class="err-title">; no <h1> on the page.1.3.1, 2.4.6<h1 class="err-title">; keep the numeric code decorative.
LowNo <main> landmark (content in <div class="err">).1.3.1Wrap in <main>.
LowLogo SVG has aria-label="Relay" without role="img"; it's decorative here.1.1.1Prefer aria-hidden="true".

email/platform/ (42 transactional templates — public)

Strengths: lang="en", <title>, single <h1>, descriptive links, no images (no alt gaps), OTP code passes as large text, plaintext-URL fallback under CTAs.

SevFindingWCAGFix
MediumFilled CTA white on #0d9488 ≈ 3.7:1 at 14px/600 (seen in relay-welcome.html; sweep all templates with a filled CTA).1.4.3Fill → #0f766e (matches --rly-accent-text, 5.5:1).
LowNested layout tables lack role="presentation".1.3.1Add to layout tables.
LowLogo SVG not aria-hidden.1.1.1Add.

Keep these templates in sync with the platform's live shell (relay-platform/src/relay/email_templates.py) — the same two fixes apply there.

index.html / app-screens.html (public-bound)

In good shape: lang, one <h1>, main/nav/header/footer landmarks, skip link, aria-labels, zoom not disabled, SVG-only imagery. Before production: verify the skip-link target and use the AA fill (#0f766e) on teal CTAs.

Estate-wide rule (from the program doc)

Teal text and white-on-teal fills use #0f766e (AA). #0d9488 is reserved for non-text touchpoints (icons, rings, ≥3:1) or fills with dark ink. This is already documented in brand/relay-tokens-v35.css (--rly-accent-text).