Sonarist project

Sonarist / Design system

Documentation v1.0.0 · Work in progress · UI prototype with separate server foundations

Design system contents

Accessibility

Contrast findings

Measure actual source colors and flag weaknesses without claiming overall accessibility conformance.

On this page

Measurement method

Source Tailwind values are resolved by Chromium to sRGB pixels using a canvas, then tested with the WCAG relative-luminance formula. Ratios compare solid foreground/background pairs. They do not certify composited dark badges, disabled opacity, focus rings, screenshots, or assistive-technology behavior.

Measured pairs

Measured pairs
ThemeRoleRatioNormal text
lightPrimary text on card17.72:1Pass
lightSecondary text on card4.83:1Pass
lightMuted metadata on card2.62:1Below 4.5:1
lightMuted text on canvas2.51:1Below 4.5:1
lightPrimary action label5.89:1Pass
lightAccent text on light tint6.65:1Pass
darkPrimary text on card16.12:1Pass
darkSecondary text on card6.75:1Pass
darkMuted/dim text on card3.67:1Below 4.5:1
darkPrimary action label5.89:1Pass
darkAccent text on card9.55:1Pass

Findings and remediation

  • Light zinc-400 text appears in many labels and metadata locations and is below 4.5:1 on light surfaces. Use a stronger verified tone before treating it as essential readable text.
  • Measure alpha badge backgrounds against their real parent, including nested dark surfaces.
  • Keep status names and icons in addition to color.
  • Review placeholder contrast independently from entered text.
  • Retain readable focus indicators at both themes and all relevant surfaces.

Scope of claim

This is an audited finding list, not a WCAG certification. No source application changes are made as part of the portfolio documentation.

Source references

Source references
FileResponsibility
components/ui/primitives.tsxText/action colors
components/inbox/conversation-list.tsxMetadata colors
app/globals.cssNative canvas colors

Examples from the app

Actual Sonarist components with fictional conversations, people, example.com addresses and simulated operational states. Captured at 2× resolution or higher. Select an image to inspect it full size.

Badges · Component detail · Light · Desktop · 1792 × 120 px
Fields · Component detail · Light · Desktop · 1792 × 720 px
Fields · Component detail · Light · Desktop · Focus · 1792 × 720 px

Source audit: 2026-10-08 · Revision 10f45d1377b5 · Documentation v1.0.0