ContrastGuard troubleshooting
Most surprises come from how the background was detected. Here is what the plugin can and cannot see.
The scan found 0 text layers
The scan covers the selection, or the whole page when nothing is selected. Hidden layers are skipped, and so are text layers without a solid fill (gradient text, image text, no fill). Select the frame that holds the text, or select nothing.
The background is wrong
The background is the nearest ancestor fill, composited through translucent layers. Two cases are not evaluated: a sibling layer that overlaps the text (a card drawn next to the text rather than around it), and image fills. In both cases the row shows the ancestor color instead. Treat those rows as a hint to check by eye, or use the pair check with the real colors typed in.
A gradient background shows a lower ratio than I expected
Gradient backgrounds are judged at their weakest stop and the row says so. The text may pass over most of the gradient and still fail at one end, which is exactly what a user with the worst luck will see.
The scan stopped early
The scan lists at most 300 text layers and walks at most 8,000 nodes. Select a section of the page and scan again.
"Select exactly one frame to simulate"
The simulator renders one frame at a time. Select a single frame, section or group and click Render again. Very large frames are rendered at up to 1000 px on the long side.
No interactive layers found
The tap-target audit lists layers that have prototype interactions. Add the interactions in Prototype mode, or check the sizes by hand with the pair of values in the layers panel.
Fix changed the wrong thing
Fix replaces the text layer's first visible solid fill with the suggested color. Mixed-color text keeps its other ranges. If the layer uses a color style, the fix detaches it; apply the suggested color to the style instead if you want it everywhere.
Keep hue fell back to black or white
Some hues cannot reach the target at any lightness against that background, for example a saturated yellow on white. The plugin says which method it used in the status bar. Change the background, or accept the nearest shade.
The CSV opens with everything in one column
Set the import delimiter to comma, or open the file in Google Sheets, which detects it. The file is UTF-8 with a header row.
Does it work in FigJam?
Yes, for text on stickies and shapes. Prototype interactions do not exist in FigJam, so the tap-target audit is empty there.