v148 · CSS · UA stylesheet

Compatibility Lab

Live CSS.supports() probes that tell you exactly what your current browser reports — then a before/after rendering toggle so you can see the practical difference. The matrix shows which browser versions removed the UA rule.

Probing…
Running CSS.supports() checks against your browser.
CSS.supports() results — this browser
Probing…
Live rendering probe

A 1×1 hidden table is injected, its border-color computed style read back. If the UA used to pin it to grey, we'll see rgb(128,128,128); otherwise the inherited text colour shows through.

Before / After toggle

Switch between the Chrome 148 behaviour (borders inherit from currentColor) and a simulation of the old UA rule (border-color: gray forced on every cell).

Chrome 148 — no border-color declaration, inherits from color
Wrapper: color #0044cc
FeatureChromeFirefoxSafari
UA border-color removed148+AllAll
currentColor default148+AllAll
Explicit override needed<148NeverNever
Border colour is inheriting from the wrapper's color: #0044cc — no border-color declaration anywhere.

Browser compatibility matrix

Browser UA rule removed Version Notes
Chrome / Chromium Yes 148+ Shipped stable May 2025
Edge (Chromium) Yes 148+ Follows Chromium
Firefox Yes All Never had the forced-gray rule
Safari / WebKit Yes All Never had the forced-gray rule
Chrome <148 No <148 UA pins border-color to gray

The old UA rule

/* Chromium UA stylesheet — pre-148 */ table { border-color: gray; } td, th { border-color: gray; } /* Chrome 148+ — these rules are gone. border-color now falls through to currentColor just like any other element. */

Migration guide

/* If you relied on the grey default and want it back: */ table, tr, th, td { border-color: gray; /* explicit, works everywhere */ } /* If you want borders to follow text colour (the new default): */ table, tr, th, td { /* nothing needed in Chrome 148+ */ /* for older Chrome, add: border-color: currentColor; */ } /* Safe cross-browser fix (explicit is always safe): */ table, tr, th, td { border-color: currentColor; }

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗