Skip to content

audit: G40 contrast rows carry no selector / color pair — untriageable punch list #12

Description

@rz1989s

What

Running keystone audit on a styled page produces contrast rows like:

✗ G40   Contrast
      span: APCA Lc 5 < 60
      fix: raise text lightness or lower bg lightness

22+ rows, all identical except the Lc number. No selector, no class chain, no computed fg/bg pair — in the markdown report AND in keystone-audit-report.json (evidence: "span: APCA Lc 5 < 60"). There is no way to triage which element to fix without guessing or re-inspecting manually.

Repro

node engine/audit.mjs rextor-architecture.html --out . on any page with badges/chips/micro-labels (Catppuccin-style colored tags). Report: 22 G40 rows, zero actionable targets.

Suggestion

  • evidence should include a selector breadcrumb (closest id/class chain, e.g. .fdetails .d-role) + the computed pair (#a6adc8 on #181825)
  • group repeated same-pair rows into one entry with a count
  • engine likely has the pair at check time (it computes APCA from fg/bg) — surface it

Environment

keystone @getpipher/keystone (pi npm install), engine/audit.mjs path mode, 2026-08-30 run.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions