bug(a11y): low-contrast secondary text fails WCAG AA across the app #92
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: High — accessibility failure (WCAG SC 1.4.3)
Multiple instances of secondary/helper text render in a gray that fails the 4.5:1 contrast ratio required for normal-weight text on a white or near-white background.
Affected elements (light mode):
#9CA3AF(gray-400)#C5C1B8(approx)aria-hidden="true"#9CA3AF#9CA3AFitalic#9CA3AFFix — brand-compliant color replacements
The brand palette does not include a ready-made "body gray". The correct approach is to use
#000000(brand black) at reduced opacity, or to use#615B66(Granite Gray) which is the lightest brand secondary that still passes contrast.#615B66Granite Gray#615B66#615B66aria-hidden="true"In Tailwind terms: replace
text-gray-400with a custom utilitytext-granitemapped to#615B66, or usetext-gray-600(#4B5563, 7.3:1) as a safe fallback if the brand token is not yet set up.Dark mode: on dark backgrounds,
#9CA3AF(gray-400) gives ~4.6:1 on#1f1f1f— just barely passes. Safe to keep for dark mode specifically, but verify against the actual dark background color used.