Primary accent color fails WCAG AA 4.5:1 as text in Midnight and Lotus Terminal Light themes #52

Closed
opened 2026-09-12 01:51:15 -04:00 by jared · 0 comments
Owner

Severity: medium · Type: a11y · Confidence: high

Location: src/colors.css.ts:476-533 (midnightTheme, Primary.Main: '#6b7ca8'), src/colors.css.ts:653-664 (lotusTerminalLightTheme, Primary.Main: '#c44e00'); consumers: src/app/components/message/MsgTypeRenderers.tsx:112, src/app/components/BackupRestore.tsx:58, src/app/features/toast/LotusToastContainer.tsx:69-80, src/app/features/room/RoomViewFollowing.css.ts:30-33, src/app/features/room-settings/RoomInsights.tsx:427

Problem

color.Primary.Main is used directly as small/normal-size text color (e.g. the "Read more ↓" toggle at T200, sticky-toast text, "following" label) in several Lotus-added components. Computed against its own theme's Background.Container, the contrast ratio is 4.29:1 for Midnight (#6b7ca8 on #111827) and 4.14:1 for Lotus Terminal Light (#c44e00 on #edf0f5) — both below the WCAG 2.1 AA 4.5:1 minimum for normal text (they do clear the 3:1 UI-component/large-text threshold). All other checked theme/token pairs (Cyberpunk 6.15, Ocean 9.39, Blood Red 5.38, Classic Matrix 15.4, Midnight Secondary 14.6, Lotus Terminal Light Secondary/Warning 5.2-5.4) pass comfortably, so this is specific to these two Primary.Main values.

How to trigger

Select the Midnight or Lotus Terminal Light theme in Settings → Appearance, then view any message with a collapsed long body ("Read more" link) or a sticky toast — the accent-colored text is borderline-illegible for low-vision users against the theme's own background.

Suggested fix

Darken/brighten Primary.Main in these two themes (or add a separate PrimaryText-style token used only for on-background text) until it reaches ≥4.5:1 against Background.Container/Surface.Container, matching the margin already present in the other seven themes.


Filed from the September 2026 client audit (branch lotus @ 4bea4895).

**Severity:** medium · **Type:** a11y · **Confidence:** high **Location:** `src/colors.css.ts:476-533` (`midnightTheme`, `Primary.Main: '#6b7ca8'`), `src/colors.css.ts:653-664` (`lotusTerminalLightTheme`, `Primary.Main: '#c44e00'`); consumers: `src/app/components/message/MsgTypeRenderers.tsx:112`, `src/app/components/BackupRestore.tsx:58`, `src/app/features/toast/LotusToastContainer.tsx:69-80`, `src/app/features/room/RoomViewFollowing.css.ts:30-33`, `src/app/features/room-settings/RoomInsights.tsx:427` ### Problem `color.Primary.Main` is used directly as small/normal-size text color (e.g. the "Read more ↓" toggle at `T200`, sticky-toast text, "following" label) in several Lotus-added components. Computed against its own theme's `Background.Container`, the contrast ratio is **4.29:1 for Midnight** (`#6b7ca8` on `#111827`) and **4.14:1 for Lotus Terminal Light** (`#c44e00` on `#edf0f5`) — both below the WCAG 2.1 AA 4.5:1 minimum for normal text (they do clear the 3:1 UI-component/large-text threshold). All other checked theme/token pairs (Cyberpunk 6.15, Ocean 9.39, Blood Red 5.38, Classic Matrix 15.4, Midnight Secondary 14.6, Lotus Terminal Light Secondary/Warning 5.2-5.4) pass comfortably, so this is specific to these two `Primary.Main` values. ### How to trigger Select the Midnight or Lotus Terminal Light theme in Settings → Appearance, then view any message with a collapsed long body ("Read more" link) or a sticky toast — the accent-colored text is borderline-illegible for low-vision users against the theme's own background. ### Suggested fix Darken/brighten `Primary.Main` in these two themes (or add a separate `PrimaryText`-style token used only for on-background text) until it reaches ≥4.5:1 against `Background.Container`/`Surface.Container`, matching the margin already present in the other seven themes. --- _Filed from the September 2026 client audit (branch `lotus` @ 4bea4895)._
jared added this to the Audit 2026-09 · Medium & Low milestone 2026-09-12 01:51:15 -04:00
jared added the priority: mediuma11yarea: appearance labels 2026-09-12 01:51:15 -04:00
jared self-assigned this 2026-09-12 01:51:15 -04:00
jared closed this issue 2026-09-12 20:29:06 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
2026-11-14
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#52