Why it matters
Low-contrast text is unreadable for people with low vision and for everyone in sunlight. WCAG AA needs 4.5:1 for body text and 3:1 for large text.
How to fix it
Darken the text or lighten the background until the ratio passes; check hover/disabled/placeholder states too. Use the design tokens' fg/fg-muted pairs.
Example
color: var(--fg-muted); /* tokens are pre-checked for ≥ 4.5:1 on --bg */References
More accessibility rules
void a11y reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.
image-altImage has no text alternativebutton-nameButton has no accessible namelink-nameLink has no accessible namelabelForm field has no labelselect-nameSelect element has no accessible nameinput-button-nameInput button has no accessible nameinput-image-altImage button has no alt texthtml-has-lang<html> has no lang attribute