- What is a contrast grid?
- A table of every color in a palette checked against every other one. A pair checker answers whether two specific colors work together. A grid answers which combinations in a whole palette are usable, which is the question you actually have when building a design system.
- How do I read it?
- Each row is a color used as text, each column is a color used as the background. The number in a cell is the contrast ratio between them, and it is drawn in the actual pair, so the number is legible exactly when the combination it describes is legible. Passing cells carry an outline, failing cells are dimmed.
- Why is the grid symmetric?
- Because contrast ratio is. Swapping text and background gives the same number. The grid still shows both halves, because reading a row as one text color across many backgrounds is a different question from reading a column, even though the arithmetic matches.
- What counts as large text?
- 24 pixels and above, or 19 pixels and above when bold. That threshold is where the requirement drops from 4.5 to 1 down to 3 to 1. It catches people out, because a 20 pixel heading in a regular weight is still body text as far as the standard is concerned.
- Can I bring in a palette I made elsewhere?
- Yes. The palette lives in the address bar, so a link carries it. The palette generator and the image extractor both produce palettes in the same format, and a grid link from either one opens here with those colors already loaded.
- Does passing the grid mean my design is accessible?
- No. It means those color pairs clear a measurable floor for contrast. Accessibility covers keyboard operation, focus order, labelling, motion and much else besides, and contrast itself says nothing about font weight or the room someone is sitting in. Treat a grid full of passes as one requirement met, not the job finished.