Theme migration and accessibility debt

Fixed colors in components, raw Tailwind color utilities, semantic-token adoption, and legacy exceptions awaiting review. Tracks remaining findings over time.

How to read this dashboard

Theme migration and accessibility debt

Counts color usage in components, UI primitives, and routes (src/components, src/ui, src/routes) on codemod/OpenHands. This is the remaining work from the token audit in OpenHands#18004.

Raw Tailwind color utilities are default palette classes such as text-white, bg-black/60, bg-red-500, and outline-blue-300, plus numbered cool-grey utilities.

Fixed colors are hex, rgb, and hsl literals in class utilities (text-[#ffffff], bg-[rgba(...)]) and in paint attributes (fill="#ec4899").

Semantic-token adoption is the share of those color utilities that already use a theme role defined in src/tailwind.css (text-muted, bg-danger, border-border, text-feedback-error).

Exceptions awaiting review are the seven classes still allowlisted in eslint.config.js while shadcn/no-raw-colors stays at warning: bg-background, bg-content1, text-primary-foreground, bg-status-fail-bg, text-status-fail-text, text-content-muted, and text-modal-muted.

Open follow-ups:

Remaining findings

161

Raw Tailwind color utilities

87

Fixed colors in components

55

Exceptions awaiting review

19

Semantic-token adoption

94.0%

Fixed blue focus outlines

4

Budget meter palette fills

2

Modal muted descriptions

1

Remaining findings over time
Raw utilities awaiting replacement
text-white40
bg-black16
bg-white11
outline-blue-3004
bg-red-5003
bg-yellow-5002
text-black2
bg-green-5002
border-green-5001
text-green-4001
border-yellow-5001
border-red-5001
text-yellow-4001
bg-blue-5001
text-red-4001
Exceptions by token
bg-background6
bg-content14
text-status-fail-text3
text-primary-foreground2
bg-status-fail-bg2
text-modal-muted1
text-content-muted1