Skip to content

bug: Nile --text-muted fails 4.5:1 text contrast on raised surfaces #285

Open

Description

@simonives

Affected file: frontend/src/styles/tokens.css (Nile/dark theme block, --text-muted: #948970)

Description: --text-muted (#948970) was contrast-checked against the base --surface (#0d2422) at 4.70:1, passing the 4.5:1 WCAG 2.2 text floor. It was not checked against --surface-container-high (--bg-raised, #16403c), the elevated/raised surface token also introduced by this design system for cards, modals, and drawers, where it drops to 3.31:1, failing the floor.

Failure scenario: Once a later Material Design stage renders muted/secondary text (timestamps, byline text, helper copy) inside a card, modal, or other raised container in the Nile (dark) theme, that text falls below the accessibility floor for the project's stated hard-floor requirement (WCAG 2.2 AA).

Recommended fix: Lighten Nile's --text-muted to at least #afa58b, which restores a compliant 4.68:1 against --surface-container-high (independently recomputed and confirmed) while remaining well above 4.5:1 against the base --surface too.

Found via an adversarial code review (Gemini 3.1 Pro) of PR #281, independently verified via the WCAG 2.2 relative luminance formula. Not fixed in PR #281 since Stage 1 ships no component that renders --text-muted on a raised surface yet; worth resolving before that combination appears in a later stage.

Activity

  1. added
    bugSomething isn't working
    accessibilityBarrier affecting people with disabilities
    on Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    accessibilityBarrier affecting people with disabilitiesbugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions