Lesson 30 of 30
Every principle in this track is easy to state in isolation and easy to forget under deadline. This lesson is the checklist that turns eight separate ideas into one repeatable pass over one real component.
14 min read
Every option explains itself — why the right one is right, and why each wrong one is wrong. Miss one and it comes back later on a spaced-repetition schedule.
Question 1 of 3
A button passes a contrast check (4.5:1+) and uses correct spacing-scale padding. Is the audit complete?
Hints without spoilers, and a plain explanation of why a wrong answer was wrong — answered only from this lesson. Free account, no card.
Sign up freeWhat interviewers actually ask about this, and what a strong answer has to cover.
A strong answer covers
Likely follow-ups
Interviews rarely ask "define contrast ratio" in isolation — they hand you a component (a button, a card, a form) and ask "what's wrong with this, or how would you build it well." That's a synthesis question, and the honest way to answer it is the same way you'd actually do the work: run one component through a repeatable checklist, not through eight separate half-remembered facts.
This lesson is that checklist, applied to one plain "Continue" button — the same audit this platform's own components were actually put through this session, not a hypothetical.
Contrast: is the label's rendered color — not its hex — at least 4.5:1 against the button fill?
opacity on a label blended it toward its own background and silently dropped a 4.92:1 pass to a 3.44:1 failure.A full audit extends further than these four — responsiveness (does it reflow instead of overflowing at 300px?), semantics (is it a real <button>, satisfying WCAG's Robust principle for free?), and motion (does its state change communicate something, and does it respect reduced motion?) — but contrast, spacing, type, and focus are the four that catch the most real bugs the fastest, which is why they're worth running first.
opacity for a "subtle" effect, or a token retint that wasn't re-verified against contrast, is exactly how this platform's own real bugs happened. The checklist is something to re-run, not just something to pass once.A take-home or live-coding round that says "here's a button component, tell me what you'd change" is testing exactly this synthesis — not whether you remember one fact in isolation, but whether you can run a real component through a repeatable set of checks and name specific, falsifiable problems instead of vague impressions. That's the entire arc of this track: from "looks readable to me" in the first lesson to a checklist you could run on any component by the last one.