print-color-adjust: exact asks the browser to preserve authored colors and images for an element when it prepares output. It is a request, not a guarantee: browser behavior and user print settings take priority. The default economy allows adjustments that save ink or improve legibility. Printed meaning must survive without an exact color match.
CSS print-color-adjust: request fidelity without trusting printer color
When to use it
A laboratory chain-of-custody sheet uses pale alternating rows to help readers follow a long item table. The print stylesheet asks for exact color on that table only, while each row still has clear borders and a textual item identifier. This limits the ink request to a region where row alignment benefits from the tint. Test a color print preview, a grayscale preview, background graphics switched off, and an exported PDF from the actual target browser. Do not set exact on the entire report to preserve a decorative dark page theme; it may waste ink and reduce contrast. A red hold label must also say HOLD in text, since an office printer or user preference can remove the red. Keep evidence links and signatures visible in ordinary black text. If the organization needs legally reliable archival color, a controlled PDF generation pipeline and output review are separate requirements. CSS cannot certify that a physical printer reproduced a shade faithfully.
@media print { .custody-table { print-color-adjust: exact; } .custody-table :is(th, td) { border-block-end: 1px solid #66747a; } .custody-table tr:nth-child(even) { background: #eef2f3; } .custody-table .hold-label { color: #111; font-weight: 700; } }Cost and verification
The property adds negligible page runtime cost. If backgrounds actually print, ink and toner use can rise; scope exact to the smallest useful region. Browser print settings may still suppress backgrounds, so the borders and labels must carry row boundaries and status. Check PDF and paper outputs when the document is operationally important, not only the screen stylesheet. The rule does not change pagination, page margins, or whether fonts are embedded in a PDF. A narrow table can still break badly across pages; pair print color choices with the report's existing fragmentation and table rules. Treat exact as a preference to the renderer, not a binding output contract.
Common Mistakes
- Do not depend on an exact printed hue to carry status.
- Do not put print-color-adjust: exact on the whole site by default.
- Do not assume browser preview proves a physical printer's output.
