The display is an unknown
Every figure on this site assumes sRGB primaries, a D65 white point and the standard transfer function. Those assumptions are stated rather than hidden, and they are assumptions rather than facts — the site has no way to determine any of them.
This essay is about what can be done anyway. Two figures here stop assuming and ask the reader’s hardware a question, which is possible on this subject and on no other in the fleet, because the page is rendered on the apparatus under discussion.
What the page cannot know
A web page has essentially no access to the display’s characteristics. There is no way to read the panel’s primaries, its transfer function, its white point, its peak luminance or its calibration state.
There is no way to know the ambient light either, which matters as much. A screen in a bright room has its blacks raised by reflections, compressing the shadows and destroying the low end of the transfer function. Two readers on identical hardware in different rooms are seeing measurably different things.
What the page can do is emit values and let the reader observe what happens. Both probes here work that way: neither asks the machine anything, and both are experiments the reader performs.
The gamut probe
Both halves of the hero block specify the same sRGB red as a fallback. The right half additionally specifies a Display P3 red inside an @supports query, which the browser evaluates at view time.
Three outcomes:
A visible seam. The browser supports P3 colours and the panel reaches beyond sRGB. The right half is a red the left half cannot express.
No seam, sRGB display. The panel cannot exceed sRGB, so the P3 colour is mapped back into range and the two halves coincide.
No seam, unmanaged browser. The @supports query fails or the colour is not managed, and the fallback is used on both sides.
The probe cannot distinguish the second case from the third, and the caption says so. A negative result means either a narrow-gamut display or a browser not doing colour management, and there is no way from inside the page to tell which.
That ambiguity is worth stating plainly rather than glossing, because a probe reporting “this display is sRGB” would be making a claim the evidence does not support. The P3 colour is also verified at build time to be genuinely outside sRGB — a probe whose wide-gamut colour happened to be reachable would show no seam anywhere and would report every display as narrow.
The transfer-function probe
The second probe measures something more fundamental, and it works without any browser feature at all.
The logic is sound regardless of the display: a pattern of equal black and white areas emits half the light of an all-white area, because it is half white and half nothing. Finding the uniform grey that matches it locates the half-luminance code directly.
On a display behaving as sRGB specifies, that is code 188. A match near 128 would mean a linear display, which essentially none are. A match elsewhere means something in between, which is common — many displays are calibrated to approximations, and any night-shift filter or ambient light changes the answer.
What the probe measures is the whole chain as delivered: panel, operating system colour management, any active filter, and the room. That is arguably more useful than the panel’s specification, and it is emphatically not the same thing.
Why this matters for everything else here
The site’s central claim is about the gamut — that most visible colours cannot be shown and are therefore marked rather than clipped. The claim is computed against sRGB.
A reader on a wide-gamut display with correct colour management has a slightly larger honest region than the figures state. The hatched area is then somewhat too generous, and a few colours marked unreachable would in fact be reachable on that screen.
This does not undermine the argument. The gap between any three-primary gamut and the visible region is large, and the difference between sRGB and P3 is small beside it — P3 covers roughly a quarter more area, against a triangle that misses about two thirds of the diagram. The conclusion survives comfortably. But the specific percentage is display-dependent, and every figure names sRGB in its corner for that reason.
What colour management is actually doing
The chain from a stored number to emitted light has more steps than it appears, and each is a place for the assumptions to fail.
A file may carry an ICC profile describing what its numbers mean. Untagged content is assumed to be sRGB by essentially all modern browsers, which is a convention rather than a fact and is right often enough to be workable.
The operating system may hold a display profile, from a hardware calibrator or from the manufacturer’s defaults or from nothing at all. The compositor uses it to convert from the file’s space to the display’s.
The panel then applies its own processing — a lookup table, possibly a picture mode, possibly a dynamic contrast feature that changes behaviour with content.
When all three are correct, the emitted light matches what the file specified. When any is wrong or absent the result is a colour shift nobody sees as a shift, because there is nothing to compare against. This is why an image can look different in two applications on the same machine: one is managing colour and the other is not, and the second is showing numbers rather than colours.
What calibration does and does not achieve
A hardware calibrator measures the display’s actual behaviour and builds a profile so the system can compensate. It is the only way to know the transfer function and the primaries rather than assuming them.
It does not control the ambient light, and it does not control the observer. Two people with normal colour vision can genuinely disagree about whether two things match, particularly on displays with narrow-band primaries, which are increasingly common. Calibration removes the device from the equation and leaves the room and the person in it.
Which is the honest summary of what this site can offer. The stimulus can be specified exactly; what it looks like cannot be predicted from that alone, and calibration improves the first half only.
The bearing on the rest of the site
Three of the site’s standing commitments come from this essay’s problem.
Every figure names its observer and its assumed display. Not decoration — the numbers are conditional on both, and a chromaticity without them is incomplete.
Nothing outside the gamut is drawn as though reachable. Since the gamut is uncertain, the marking is computed against the stated assumption and the assumption is visible.
The page chrome is exactly neutral. This is the one thing the site can control that materially affects appearance. Coloured furniture would shift every swatch through simultaneous contrast, in a direction varying with layout position, and the neutrality is checked mechanically rather than left to discipline.
What the site does with an unknown display
Three commitments follow from this essay’s problem, and all three are enforced rather than left to discipline.
Every figure names its observer and its assumed display. The numbers are conditional on both, and a chromaticity quoted without them is incomplete.
Nothing outside the assumed gamut is drawn as though reachable. The assumption may be wrong for a given reader; the marking is computed against a stated assumption, so a reader knowing their display exceeds sRGB knows which direction the error runs.
The page chrome is exactly neutral, checked by parsing the stylesheet and requiring equal channels in every paper and ink token. This is the one variable in the whole chain the site can control that materially affects appearance.
What is left uncontrolled, and why that is acceptable
The ambient light, the calibration state, the viewing distance and the observer all remain unknown. Stating them as unknown rather than assuming them away is the honest position, and the figures are built so the unknowns affect magnitudes rather than conclusions.
The gamut argument survives a display change because the effect is much larger than the uncertainty. The identity assertions survive because equality of delivered values is display-independent — whatever the screen does to two identical values, it does the same to both.
Where a claim would not survive, the essay says so and gives the magnitude rather than leaving the reader to guess.
What was computed here
The P3 colour used in the probe is verified at build time to be outside the sRGB gamut, by converting it through the Display P3 primaries to XYZ and testing against the sRGB gamut. That assertion is the only thing standing between this figure and a probe that reports every display as narrow.
The gamma probe’s target code is computed rather than typed: inverting the sRGB transfer function at a luminance of 0.5 gives 188, and linearising code 128 gives 0.214. Both are asserted, with the second constrained to lie between 180 and 196 so that a broken transfer function could not silently move the answer.
The probes themselves are the exception to the site’s usual discipline. Every other figure is computed, asserted and fixed before the page is written. The P3 probe’s appearance is settled by the browser at view time, which is deliberate and is the point of it.
The probes are the one exception to the site’s usual discipline: their appearance is settled by the browser at view time rather than fixed at build time. That is deliberate, and it is what makes them measurements of the reader’s hardware rather than statements about it.
What a null result is worth
Both probes on this page can return nothing, and it is worth being clear what nothing means.
The gamut probe showing one rectangle is consistent with an sRGB panel, with a browser that does not support the syntax, and with a colour-management path that ignored it. Three explanations, one observation, no way to distinguish them from inside the page.
The gamma probe matching at an unexpected code is consistent with an uncalibrated panel, an active night-shift filter, a bright room, and a reader judging the match badly. Again several explanations for one observation.
Reporting either as a measurement of the display would overstate what happened. What both actually measure is the whole chain as delivered, which is a genuinely useful quantity and is not the panel’s specification — and saying so is the difference between a probe and a claim.
What is being assumed, in one list
sRGB primaries, D65 white, the standard transfer function, a display that implements them, and a room that does not interfere. Five assumptions, none verifiable from inside the page, all stated on every figure.
Which claims survive an unknown display
Sorting them is the useful exercise.
Robust: anything about equality. Two identical values remain identical whatever the screen does to them, so every identity assertion on this site holds regardless of hardware.
Robust in direction, not magnitude: anything comparative. A gradient blended two ways differs in the same direction on every display, by an amount depending on the transfer function.
Conditional: anything quantitative about the gamut. The hatched fraction is computed against sRGB and moves on a wider display.
What the pictures cannot show
Neither probe is a measurement in any strict sense. The gamma probe depends on the reader’s judgement of a match, at an unspecified distance, under unknown light. It locates the half-luminance point to within a couple of the offered codes at best.
Neither can distinguish where in the chain a discrepancy arises. A display matching at code 200 rather than 188 might be uncalibrated, might have an active filter, might be reflecting a bright window. The probe reports the sum.
And there is a limit that cannot be worked around: this page cannot show what a wide-gamut display shows to a reader who does not have one. The seam either appears or it does not, and no illustration of the difference is possible on a screen that cannot produce it. That is the same limitation as the hatched region on the chromaticity diagram, applied to the reader’s own hardware.
Who found it, and when
Colour management as a discipline dates from the desktop publishing era, when the same file had to produce consistent results on screens and presses from different manufacturers. The International Color Consortium was founded in 1993 and its profile format remains the standard.
sRGB was defined in 1996 by Hewlett-Packard and Microsoft as a default for content with no profile — an attempt to make the unmanaged case predictable rather than arbitrary. It succeeded so thoroughly that it became the assumption underlying essentially all web content, and its 1990s CRT-derived characteristics govern images today for that reason.
Display P3, derived from the DCI-P3 cinema standard, arrived on consumer hardware around 2015, and CSS gained syntax for specifying colours in it shortly after. The probe on this page depends on that syntax and would not have been possible before it.
Where this goes next
The transfer function the probe measures is the midpoint is not half. The gamut it probes is most of this diagram cannot be shown. And the deeper reason a specified stimulus still does not determine an appearance is matching is not appearance.