interactions — 100.00% verified visual parity

← all categories · PASS 359 · FAIL 0 · REFERENCE-DISPUTED 3 · 362 total · 300 DPI

diff colours:MissingExtraColorErrMatchFull-page diff: matching and per-channel ≤1.0% pixels are blank; coloured classes are same-coordinate above-floor evidence. Exact RGBA mismatch remains numeric.

supported-family-cartesian-product — 100.00% verified visual parity PASS 322 · FAIL 0 · REFERENCE-DISPUTED 3all categories ↑

REFERENCE-DISPUTED above-floor 100.00% · raw 100.00% max-page diff interactions-cartesian-page-margins-x-paged-media · physical-page-context-and-nested-feature-depths · REFERENCE DISPUTED · pages: 3 ref / 4 ironpressPageCount
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
not generated
Chrome ref
ironpress
ironpress
not generated
full-page >1.0%/channel diff
why: page-count mismatch: ironpress 4 vs oracle 3
Physical-page-context interaction for page-margins and paged-media: the paged-media representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
reference dispute: CSS Fragmentation 3 sections 3.1 and 4.3 require break-before:page on the nested in-flow block to force a class-A page break and move the ensuing content into the next page fragmentainer. Ironpress therefore emits four pages and slices the outer box across pages 2 and 3. Chromium 150 Foundation ignores that forced break, emits three pages, and overlaps the nested text with its preceding sibling on page 2. Its PDF remains a compatibility canary rather than a normative fragmentation oracle; the complete shared-pdftoppm page-count and raster evidence remains reported.
source · cases/interactions/interactions-cartesian-page-margins-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>page-margins x paged-media interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-page-margins {}
90  .f-paged-media {break-before:page;break-inside:avoid;}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-page-margins f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
REFERENCE-DISPUTED 2985 px · above-floor 0.80% · raw 0.80% max-page diff interactions-cartesian-effects-x-paged-media · same-element-and-bidirectional-nesting · REFERENCE DISPUTED · 4 pagesColorValueΔE 33.3
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: fill recolour ΔRGB(-24,+36,+153) (ΔE 33.3)
Cartesian family interaction for effects and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
reference dispute: CSS Fragmentation 3 section 5.4 requires box-decoration-break:slice to render the unbroken box and then slice it, with no box-shadow drawn at a broken edge. WPT box-shadow-002 tests that rule directly, while box-shadow-005 reserves a shadow around every fragment for box-decoration-break:clone. Ironpress leaves the page 2/3 cut undecorated; Chromium paints the yellow inset-shadow band at both cut edges as if the fragments were cloned. Its PDF remains a compatibility canary, not a normative oracle, and the raw shared-pdftoppm evidence remains reported.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr3298517,36 → 148,2002583total 1.0% · largest 0.8% · max ΔE 33.3

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue19,198 → 137,2000.8ΔE 33.3 ΔRGB(-24,36,153)fill recolour ΔRGB(-24,+36,+153) (ΔE 33.3)
AntialiasCoverage17,36 → 139,360.1ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage141,200 → 148,2000.006899ΔRGB(-2,-41,-32)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-effects f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
REFERENCE-DISPUTED 1913 px · above-floor 0.19% · raw 0.19% max-page diff interactions-cartesian-positioning-x-tables · same-element-and-bidirectional-nesting · REFERENCE DISPUTEDColorValueΔE 69.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(-2,-2,-2) (ΔE 69.2)
Cartesian family interaction for positioning and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
reference dispute: CSS Tables 3 section 4.1 defines the containing block generated by a positioned table wrapper as the area around which table margins are applied, explicitly including the area where the table border is drawn. Ironpress positions the absolute Bb from that border edge. Both the locked Chromium 150.0.7871.114 Foundation PDF and a fresh Chromium 150.0.7871.128 Foundation PDF instead inset it by the authored 2px table border on both axes; the specification identifies this behavior as a Chromium bug and interoperability risk. The Chromium PDF remains a compatibility canary rather than a normative geometry oracle, and the raw shared-pdftoppm evidence remains reported.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr21913115,94 → 136,1081066total 0.2% · largest 0.1% · max ΔE 69.2

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue115,94 → 125,1080.1ΔE 69.2 ΔRGB(-1,-1,-1)fill recolour ΔRGB(-1,-1,-1) (ΔE 69.2)
ColorValue126,94 → 136,1080.1ΔE 69.2 ΔRGB(-4,-4,-4)fill recolour ΔRGB(-4,-4,-4) (ΔE 69.2)
source · cases/interactions/interactions-cartesian-positioning-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>positioning x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-positioning {position:relative;}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-positioning f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.47% · raw 46.18% (173182 px) interactions-cartesian-backgrounds-gradients-x-paged-media · same-element-and-bidirectional-nesting · 4 pagesPASS via raw same-coordinate visibility policyColorValueΔE 0.3
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (225 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22517318215,34 → 139,200170216total 56.9% · largest 55.9% · max ΔE 0.6

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue17,36 → 139,20055.9ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue28,172 → 56,2000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage15,65 → 15,1640.1ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue59,51 → 64,570.07ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue37,50 → 42,570.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue48,52 → 53,560.06ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue48,47 → 52,510.05ΔE 0.4 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.4)
ColorValue27,48 → 31,530.04ΔE 0.6 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.6)
AntialiasCoverage15,164 → 15,2000.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage15,45 → 15,640.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue40,150 → 43,1520.01ΔE 0.4 ΔRGB(0,0,2)fill recolour ΔRGB(+0,+0,+2) (ΔE 0.4)
ColorValue80,146 → 82,1480.01ΔE 0.2 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.2)
ColorValue75,151 → 77,1530.01ΔE 0.2 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.2)
ColorValue64,162 → 66,1640.01ΔE 0.2 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.2)
AntialiasCoverage59,167 → 61,1690.007228ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage136,91 → 137,920.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage135,92 → 136,930.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage132,95 → 133,960.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage131,96 → 132,970.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage129,97 → 130,980.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage128,99 → 129,1000.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage127,100 → 128,1010.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage124,103 → 125,1040.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage123,104 → 124,1050.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage121,105 → 122,1060.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage120,107 → 121,1080.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage119,108 → 120,1090.003285ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage41,49 → 42,500.002957ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage15,34 → 15,360.002300ΔRGB(0,-1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage136,92 → 137,930.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage133,93 → 134,940.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage135,93 → 136,940.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage133,95 → 134,960.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage132,96 → 133,970.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage131,98 → 132,980.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage130,99 → 130,1000.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage128,100 → 129,1010.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage125,101 → 126,1020.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage127,101 → 128,1020.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage125,103 → 126,1040.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage124,104 → 125,1050.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage123,106 → 124,1060.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage122,107 → 122,1080.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage120,108 → 121,1090.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage119,109 → 120,1100.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage116,111 → 117,1120.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage117,111 → 118,1120.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage115,112 → 116,1130.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage116,112 → 117,1130.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage114,114 → 114,1140.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage115,114 → 116,1140.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage112,115 → 113,1160.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage114,115 → 114,1160.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage111,116 → 112,1170.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage112,116 → 113,1170.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage111,117 → 112,1180.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage108,119 → 109,1200.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage109,119 → 110,1200.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage107,120 → 108,1210.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage108,120 → 109,1210.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage106,122 → 106,1220.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage107,122 → 108,1220.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage104,123 → 105,1240.001971ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage106,123 → 106,1240.001971ΔE 0.2 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-backgrounds-gradients f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 22.96% (233238 px) interactions-cartesian-backgrounds-gradients-x-backgrounds-gradients · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and backgrounds-gradients: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4088 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr408823323817,36 → 467,1285388total 30.1% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue20,50 → 92,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue410,44 → 467,1100.7ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue410,71 → 467,1280.6ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,66 → 60,1140.5ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue410,36 → 467,940.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue401,62 → 467,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue421,82 → 467,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue381,36 → 420,650.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue396,57 → 467,1280.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue394,36 → 432,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue433,94 → 467,1280.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue345,36 → 370,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue410,36 → 454,800.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue406,36 → 442,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 375,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue359,36 → 382,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue206,73 → 244,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue383,113 → 407,1280.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue345,52 → 360,730.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue29,50 → 49,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue190,67 → 234,1110.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue190,67 → 207,840.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue61,50 → 82,670.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue448,109 → 467,1280.2ΔE 0.2 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue410,36 → 460,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue354,67 → 398,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue217,84 → 244,1110.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue410,42 → 467,1000.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue200,67 → 244,1110.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-backgrounds-gradients.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x backgrounds-gradients interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-backgrounds-gradients f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000267% · raw 20.33% (76249 px) interactions-cartesian-backgrounds-gradients-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via raw same-coordinate visibility policyColorValueΔE 0.3
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Physical-page-context interaction for page-margins and backgrounds-gradients: the backgrounds-gradients representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (708 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr7087624910,10 → 158,948609total 20.3% · largest 2.3% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue67,10 → 158,942.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue10,10 → 50,501.6ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue96,32 → 158,941.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue75,10 → 143,781.0ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue108,44 → 158,941.0ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue81,17 → 158,940.9ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue86,22 → 158,940.9ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue65,10 → 104,390.9ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue52,10 → 91,390.8ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue121,57 → 158,940.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue75,10 → 128,630.7ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,10 → 115,500.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue75,10 → 134,690.4ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue75,10 → 150,850.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue78,14 → 158,940.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue137,73 → 158,940.4ΔE 0.2 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.2)
ColorValue105,41 → 158,940.3ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue75,10 → 147,820.3ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue75,10 → 120,550.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue10,87 → 27,940.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
AntialiasCoverage75,10 → 136,710.2ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue75,10 → 123,580.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue10,74 → 17,910.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue75,10 → 118,530.2ΔE 0.2 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.2)
ColorValue10,10 → 20,200.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
AntialiasCoverage94,30 → 158,940.2ΔE 0.3 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
ColorValue75,10 → 107,420.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage75,10 → 130,650.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue24,87 → 37,940.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue132,68 → 158,940.1ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue49,10 → 79,390.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue54,10 → 70,230.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue53,87 → 66,940.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
AntialiasCoverage93,29 → 158,940.1ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
ColorValue58,10 → 75,270.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage117,53 → 158,940.1ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage119,55 → 158,940.10ΔE 0.3 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
ColorValue38,27 → 50,390.10ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,87 → 51,940.09ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue135,71 → 158,940.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue47,10 → 61,240.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue43,10 → 55,200.08ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue63,10 → 93,390.07ΔE 0.3 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.3)
AntialiasCoverage75,10 → 116,510.07ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
ColorValue10,60 → 17,700.06ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue30,29 → 39,390.06ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue151,87 → 158,940.06ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue52,10 → 66,230.06ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue10,46 → 17,550.05ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue10,52 → 17,610.05ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue48,87 → 57,940.05ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue10,10 → 22,220.05ΔE 0.3 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.3)
ColorValue44,31 → 53,390.05ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue24,32 → 33,390.05ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
AntialiasCoverage58,10 → 77,290.05ΔE 0.3 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage62,10 → 92,390.05ΔE 0.4 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
ColorValue10,66 → 17,750.05ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage131,67 → 158,940.04ΔE 0.1 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
ColorValue64,87 → 73,940.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue30,24 → 34,290.04ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue149,85 → 158,940.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue21,87 → 29,940.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue35,87 → 43,940.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue41,10 → 52,200.03ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-backgrounds-gradients f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 15.62% (158603 px) interactions-cartesian-backgrounds-gradients-x-units-values · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3209 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr32091586038,36 → 399,1285947total 20.5% · largest 0.8% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue8,50 → 80,1140.8ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue19,50 → 91,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue69,50 → 141,1140.7ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue8,50 → 43,850.6ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue94,59 → 149,1140.5ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue31,50 → 100,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue43,50 → 112,1140.5ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue57,50 → 125,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue105,70 → 149,1140.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue86,51 → 149,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue81,50 → 148,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue360,72 → 399,1110.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue117,82 → 149,1140.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue347,67 → 395,1110.3ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue52,50 → 118,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue372,84 → 399,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue66,50 → 132,1140.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue345,67 → 389,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue131,96 → 149,1140.1ΔE 0.2 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.2)
ColorValue355,67 → 399,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue345,85 → 366,1080.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue28,50 → 93,1140.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue40,50 → 105,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue55,50 → 120,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue79,50 → 144,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue8,71 → 39,1030.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue103,68 → 149,1140.1ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue369,81 → 399,1110.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage39,50 → 103,1140.1ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue345,67 → 362,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue378,90 → 399,1110.10ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue8,71 → 44,1070.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue345,84 → 360,1020.10ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue368,67 → 386,820.09ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue8,68 → 27,900.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue8,70 → 48,1110.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue8,50 → 19,610.08ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.27% · raw 15.23% (154634 px) interactions-cartesian-backgrounds-borders-x-backgrounds-gradients · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-borders and backgrounds-gradients: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1818 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr181815463416,36 → 467,12863854total 20.0% · largest 8.2% · max ΔE 0.6

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue18,51 → 138,1138.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue383,44 → 467,1280.9ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue410,71 → 467,1280.6ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue410,36 → 467,940.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue401,62 → 467,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue421,82 → 467,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue381,36 → 420,650.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue396,57 → 467,1280.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue394,36 → 432,660.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue433,94 → 467,1280.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue345,36 → 370,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue404,36 → 442,700.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue410,36 → 454,800.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue207,74 → 245,1120.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue359,36 → 382,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue345,52 → 360,730.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue219,85 → 245,1120.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue448,109 → 467,1280.2ΔE 0.2 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.2)
ColorValue410,36 → 460,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue201,68 → 245,1120.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue191,68 → 235,1120.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue394,55 → 467,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue410,42 → 467,1000.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue345,112 → 364,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue345,106 → 357,1230.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue371,113 → 391,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue199,68 → 244,1120.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue410,36 → 461,870.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue191,87 → 211,1080.10ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue419,80 → 467,1280.10ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue191,68 → 208,840.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue224,91 → 245,1120.09ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue345,94 → 352,1110.09ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue358,113 → 377,1280.09ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue345,36 → 356,470.09ΔE 0.3 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.3)
ColorValue195,68 → 240,1120.09ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue215,82 → 245,1120.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue410,36 → 449,750.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue16,49 → 51,800.08ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0)
ColorValue213,80 → 245,1120.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue409,36 → 447,730.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue403,36 → 434,660.07ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue229,96 → 245,1120.07ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue409,36 → 445,720.07ΔE 0.2 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.2)
ColorValue214,68 → 231,830.07ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue191,85 → 205,1020.07ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue193,68 → 237,1120.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage408,69 → 467,1280.07ΔE 0.3 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage410,40 → 467,970.07ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue235,101 → 245,1120.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue345,56 → 365,770.06ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue191,68 → 202,790.06ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
AntialiasCoverage410,36 → 456,820.06ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue387,36 → 401,500.06ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue444,105 → 467,1280.05ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue131,49 → 140,860.05ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0)
ColorValue380,36 → 393,470.05ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue365,113 → 382,1280.05ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
AntialiasCoverage407,68 → 467,1280.05ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage206,73 → 245,1120.05ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue213,68 → 225,770.05ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
AntialiasCoverage410,38 → 467,950.05ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage429,90 → 467,1280.05ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
ColorValue371,36 → 387,510.04ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-backgrounds-gradients.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x backgrounds-gradients interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.23% · raw 14.78% (150159 px) interactions-cartesian-backgrounds-gradients-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2215 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr221515015917,36 → 408,12812502total 19.4% · largest 1.6% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue17,50 → 92,1141.6ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,50 → 53,920.5ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,67 → 383,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue376,67 → 395,810.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,60 → 51,1020.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,50 → 94,1140.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,74 → 41,980.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue356,67 → 401,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,85 → 380,1110.09ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue387,90 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 285,750.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue376,79 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 14.72% (149544 px) interactions-cartesian-backgrounds-gradients-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2189 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr218914954417,36 → 408,1285758total 19.3% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue17,50 → 82,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue20,50 → 92,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,50 → 65,1060.5ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 374,1080.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue29,50 → 49,680.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue375,67 → 395,830.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue17,64 → 31,820.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,50 → 94,1140.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue356,67 → 401,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,87 → 378,1110.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue387,90 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 285,750.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 14.59% (148182 px) interactions-cartesian-backgrounds-gradients-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2202 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr220214818217,36 → 408,1285387total 19.1% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue20,50 → 92,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,66 → 60,1140.5ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue82,56 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 375,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue29,50 → 49,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue61,50 → 82,670.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue354,67 → 398,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,50 → 94,1140.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,62 → 30,820.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,71 → 48,1020.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,72 → 51,1060.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue356,67 → 401,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,75 → 40,980.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 14.58% (148087 px) interactions-cartesian-backgrounds-gradients-x-positioning · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2230 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr223014808717,36 → 408,1285400total 19.1% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue20,50 → 92,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,50 → 82,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 375,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue29,50 → 49,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,50 → 69,1020.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue17,50 → 73,1060.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 398,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue119,74 → 139,960.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,50 → 94,1140.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,62 → 30,820.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue99,98 → 115,1140.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue110,98 → 126,1140.1ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue356,67 → 401,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,75 → 40,980.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue128,85 → 139,980.08ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 14.55% (147788 px) interactions-cartesian-backgrounds-gradients-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2238 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr223814778817,36 → 408,1285340total 19.1% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue20,50 → 92,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,61 → 67,1140.5ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue242,36 → 296,860.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,68 → 79,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 375,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue29,50 → 49,690.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue44,70 → 89,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,71 → 84,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue354,67 → 398,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue17,61 → 28,820.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue64,50 → 82,640.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,68 → 47,980.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,70 → 48,1020.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,70 → 52,1060.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue83,50 → 101,660.10ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue356,67 → 401,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,71 → 73,1140.09ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 14.54% (147683 px) interactions-cartesian-backgrounds-gradients-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2253 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr225314768318,36 → 413,12810609total 19.1% · largest 1.4% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue18,52 → 98,1121.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue88,71 → 143,1180.9ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,57 → 143,1160.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue247,44 → 303,1090.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue20,48 → 55,790.5ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue32,54 → 107,1120.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue43,55 → 118,1130.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue355,68 → 408,1090.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue56,56 → 129,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue229,36 → 268,670.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue249,36 → 303,910.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue368,74 → 412,1100.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue217,36 → 255,660.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue52,56 → 124,1140.3ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue82,64 → 144,1160.3ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue77,60 → 144,1160.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,55 → 111,1130.3ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue240,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue383,87 → 411,1120.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue363,69 → 412,1090.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue62,57 → 135,1150.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue356,79 → 378,1050.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue110,92 → 141,1190.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue357,65 → 378,840.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue250,36 → 289,750.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue250,36 → 296,820.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue220,115 → 241,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue248,41 → 303,980.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue380,68 → 399,820.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue181,112 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue30,54 → 100,1120.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue123,105 → 140,1200.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue247,54 → 303,1110.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue76,58 → 144,1160.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue249,39 → 303,940.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,106 → 193,1230.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue181,92 → 190,1100.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue207,114 → 225,1280.10ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,55 → 201,770.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue18,72 → 54,1020.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue19,71 → 51,990.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue20,69 → 42,890.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue379,84 → 411,1110.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue19,74 → 44,950.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue249,36 → 283,680.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue250,36 → 297,840.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue194,113 → 212,1280.07ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue206,36 → 223,510.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue251,36 → 285,700.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue37,50 → 59,680.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage50,56 → 119,1140.07ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue22,47 → 33,570.07ΔE 0.3fill colour differs (ΔE 0.3)
ColorValue20,67 → 36,830.06ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue398,103 → 410,1130.06ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000098% · raw 14.53% (147528 px) interactions-cartesian-backgrounds-gradients-x-flexbox · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2416 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr241614752817,36 → 457,1285347total 19.1% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue17,50 → 82,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue20,50 → 92,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 49,820.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue431,78 → 457,1040.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue32,83 → 65,1140.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue65,50 → 101,840.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue419,66 → 457,1040.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,79 → 90,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue17,50 → 65,980.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue403,60 → 447,1040.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue403,60 → 420,770.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,50 → 69,1020.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue92,50 → 124,780.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue406,60 → 453,1040.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue17,50 → 73,1060.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue413,60 → 457,1040.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue403,78 → 423,1000.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 58,910.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue404,60 → 450,1040.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue39,84 → 70,1140.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue44,89 → 72,1140.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 53,860.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue76,50 → 105,790.10ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue84,50 → 111,750.10ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue403,77 → 418,940.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue426,60 → 443,750.08ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue427,74 → 457,1040.08ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue51,85 → 81,1140.08ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-flexbox.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x flexbox interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 14.48% (147045 px) interactions-cartesian-backgrounds-gradients-x-grid · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2404 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr240414704517,36 → 458,1285340total 19.0% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 49,820.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue20,77 → 57,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,77 → 46,1140.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue59,50 → 92,780.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue50,50 → 82,780.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue420,66 → 458,1040.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue404,60 → 448,1040.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue404,60 → 421,770.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue431,77 → 458,1040.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue414,60 → 458,1040.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue408,60 → 454,1040.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue404,78 → 424,1000.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue33,50 → 65,820.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue436,82 → 458,1040.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue412,60 → 457,1040.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 53,860.10ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue40,50 → 69,770.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue404,77 → 419,940.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue427,60 → 444,750.08ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-grid.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x grid interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 14.48% (147028 px) interactions-cartesian-backgrounds-gradients-x-clip-mask · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and clip-mask: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2178 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr217814702817,36 → 409,12822046total 19.0% · largest 2.8% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue42,52 → 139,1132.8ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue24,51 → 99,1091.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue220,44 → 303,1280.9ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,63 → 139,1140.9ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,66 → 60,1080.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue244,36 → 303,960.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue228,36 → 268,680.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue216,36 → 255,670.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue18,50 → 38,830.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue239,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 375,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue58,50 → 83,680.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue110,87 → 137,1140.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue245,36 → 289,800.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue244,36 → 296,870.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue29,50 → 49,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue243,41 → 303,1030.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,108 → 205,1280.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue118,95 → 136,1140.2ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue354,67 → 398,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue229,54 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 196,1230.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue244,39 → 303,990.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue207,111 → 228,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,71 → 48,1020.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,72 → 51,1060.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,55 → 201,770.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue356,67 → 401,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue245,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue194,110 → 215,1280.09ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,94 → 188,1100.09ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,36 → 297,890.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,75 → 40,980.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue245,36 → 285,750.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue387,90 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue376,79 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
AntialiasCoverage362,67 → 406,1110.07ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue206,36 → 223,510.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue393,96 → 408,1110.07ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue237,36 → 270,680.07ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue279,104 → 303,1280.06ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 191,450.06ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue201,110 → 221,1280.06ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue354,67 → 365,780.06ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
AntialiasCoverage245,36 → 292,830.06ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue17,70 → 37,910.06ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage246,36 → 281,710.06ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-clip-mask.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x clip-mask interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 14.43% (146570 px) interactions-cartesian-backgrounds-gradients-x-tables · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2362 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr236214657017,36 → 411,1285340total 18.9% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue20,68 → 66,1140.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,68 → 55,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 49,820.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue373,76 → 411,1140.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue68,50 → 92,690.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue58,50 → 82,680.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue385,88 → 411,1140.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue367,70 → 411,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue357,70 → 401,1140.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue365,70 → 410,1140.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,89 → 377,1090.10ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue357,70 → 373,860.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue390,93 → 411,1140.09ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue361,70 → 406,1140.09ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,76 → 43,1020.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue381,84 → 411,1140.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,75 → 38,980.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 285,750.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 14.42% (146464 px) interactions-cartesian-backgrounds-gradients-x-generated-content · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2421 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr242114646417,36 → 408,1305340total 18.9% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue52,50 → 92,880.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue41,50 → 82,890.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,50 → 49,820.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue63,50 → 101,850.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue20,88 → 52,1140.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,88 → 42,1140.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue370,92 → 408,1300.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue32,88 → 60,1140.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue354,86 → 398,1300.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,86 → 371,1030.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue381,103 → 408,1300.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue364,86 → 408,1300.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue358,86 → 404,1300.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue31,50 → 65,840.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue354,104 → 374,1260.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue32,50 → 69,860.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 58,910.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue386,108 → 408,1300.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue362,86 → 407,1300.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 53,860.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue39,50 → 73,820.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-generated-content.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x generated-content interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-generated-content {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 14.41% (146396 px) interactions-cartesian-backgrounds-gradients-x-typography · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2182 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr218214639617,36 → 408,1285340total 18.9% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue20,71 → 68,1140.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,73 → 59,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue354,78 → 373,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue70,50 → 92,700.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue29,50 → 49,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue64,50 → 82,640.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue376,67 → 395,790.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,61 → 28,820.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,70 → 50,1060.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,74 → 41,980.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,74 → 70,1140.08ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue387,90 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 14.39% (146111 px) interactions-cartesian-backgrounds-gradients-x-multicol · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2557 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr255714611117,36 → 466,1285340total 18.9% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue20,57 → 77,1140.6ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,66 → 60,1140.5ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,68 → 77,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue79,50 → 124,940.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue428,51 → 466,890.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue29,50 → 49,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue412,45 → 456,890.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue412,45 → 428,620.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue61,50 → 82,670.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue79,50 → 101,720.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue439,62 → 466,890.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue422,45 → 466,890.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue39,76 → 77,1140.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue44,81 → 77,1140.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,62 → 30,820.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue416,45 → 462,890.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue79,50 → 111,820.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,92 → 77,1140.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue444,67 → 466,890.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue77,50 → 92,630.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue420,45 → 465,890.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue79,50 → 116,870.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue412,64 → 432,850.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue79,50 → 129,1000.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,71 → 48,1020.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,66 → 77,1140.09ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue17,72 → 51,1060.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue79,50 → 105,760.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.08% · raw 14.35% (145753 px) interactions-cartesian-backgrounds-gradients-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageColorValuemissing 0.07%extra 0.001495%ΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2179 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr217114550317,36 → 408,12813389total 18.8% · largest 1.7% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing724525,63 → 382,93136total 0.03% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue17,50 → 101,1141.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue354,67 → 408,1110.6ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue60,50 → 92,760.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue29,50 → 49,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue61,50 → 82,660.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,62 → 27,820.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue379,67 → 404,900.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue387,90 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 285,750.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue376,79 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue194,113 → 212,1280.07ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue206,36 → 223,510.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue393,96 → 408,1110.07ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue279,104 → 303,1280.06ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.10% · raw 14.26% (144802 px) interactions-cartesian-backgrounds-gradients-x-color-opacity · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and color-opacity: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3599 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr359914480217,36 → 408,1287114total 18.7% · largest 0.9% · max ΔE 0.7

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue220,44 → 303,1280.9ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,36 → 255,1100.8ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue21,50 → 92,1140.6ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue207,36 → 303,1280.6ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue32,50 → 100,1140.5ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue190,36 → 268,1100.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue56,50 → 124,1140.3ΔE 0.3 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.2ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 296,860.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue354,85 → 375,1080.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue382,85 → 408,1110.2ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue181,67 → 245,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue29,50 → 49,660.2ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue354,67 → 398,1100.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,70 → 60,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,50 → 36,690.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.3)
ColorValue244,39 → 303,990.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,105 → 193,1230.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,63 → 30,820.1ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue43,50 → 107,1140.1ΔE 0.4 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.4)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.4 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue17,66 → 57,1100.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue97,72 → 139,1140.1ΔE 0.4 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.4)
ColorValue17,71 → 48,1020.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 371,840.10ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue211,77 → 244,1110.09ΔE 0.5 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.5)
ColorValue356,67 → 400,1110.09ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,55 → 201,770.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue244,36 → 285,760.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,75 → 40,980.08ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue388,91 → 408,1110.08ΔE 0.4 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.4)
ColorValue376,79 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue194,113 → 212,1280.07ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
AntialiasCoverage362,67 → 406,1110.07ΔE 0.4 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue206,36 → 223,510.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage378,81 → 408,1110.07ΔE 0.3 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-color-opacity.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x color-opacity interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-color-opacity {color:#5a189a;opacity:.76;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 13.95% (141700 px) interactions-cartesian-backgrounds-gradients-x-effects · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and effects: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2136 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr213614170019,36 → 467,1285099total 18.3% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue22,52 → 91,1120.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue68,52 → 136,1120.6ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue19,66 → 60,1120.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue34,52 → 99,1120.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue91,66 → 137,1120.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue58,52 → 122,1120.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.3ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue101,76 → 137,1120.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue79,54 → 137,1120.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue84,59 → 137,1120.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 375,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue46,52 → 108,1120.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue41,52 → 103,1120.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue112,87 → 137,1120.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue19,52 → 36,690.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue53,52 → 114,1120.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue354,67 → 398,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue29,52 → 47,660.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue61,52 → 80,670.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue364,67 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue66,52 → 127,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue31,52 → 92,1120.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue181,113 → 200,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue354,67 → 371,840.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue19,62 → 30,800.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue253,54 → 303,1050.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage64,52 → 124,1120.10ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue55,52 → 116,1120.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue44,52 → 105,1120.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue77,52 → 137,1120.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue19,71 → 48,1000.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue99,74 → 137,1120.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue356,67 → 401,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue19,72 → 51,1040.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue125,100 → 137,1120.08ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-effects.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x effects interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 13.85% (140624 px) interactions-cartesian-backgrounds-gradients-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2206 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr220614062417,36 → 408,1285340total 18.2% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue246,44 → 303,1100.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue20,77 → 61,1140.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,50 → 49,820.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue251,36 → 303,890.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,77 → 51,1140.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue369,72 → 408,1110.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,680.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,80 → 375,1080.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue32,80 → 69,1140.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue55,81 → 92,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue250,36 → 289,740.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue381,84 → 408,1110.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue251,36 → 296,810.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue376,67 → 395,820.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue357,67 → 404,1110.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue354,67 → 398,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue364,43 → 408,1110.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue251,41 → 303,950.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue100,50 → 124,740.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue44,81 → 79,1140.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue52,58 → 66,770.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue39,81 → 74,1140.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue246,54 → 303,1120.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue251,39 → 303,920.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue354,67 → 370,840.09ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue378,81 → 408,1110.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue51,81 → 85,1140.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue356,67 → 400,1110.09ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue246,36 → 283,710.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue77,50 → 92,810.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue41,50 → 65,730.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue67,50 → 82,570.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue387,90 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue376,79 → 408,1110.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue251,36 → 297,820.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue194,113 → 212,1280.07ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue248,36 → 285,710.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.64% · raw 13.82% (140361 px) interactions-cartesian-backgrounds-gradients-x-filters · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and filters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4338 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr433814036114,34 → 471,13145219total 18.1% · largest 5.8% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue17,50 → 139,1145.8ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue181,36 → 279,1231.8ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue354,67 → 408,1111.6ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue248,39 → 303,1080.9ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue232,54 → 303,1280.5ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue14,48 → 143,1170.4ΔRGB(-1,-1,-1)fill recolour ΔRGB(-1,-1,-1) (ΔE 0)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue248,36 → 303,910.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue247,36 → 292,790.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue248,36 → 296,830.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue220,114 → 242,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue248,36 → 283,700.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,114 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue207,114 → 226,1280.10ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
AntialiasCoverage343,34 → 471,1300.09ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,65 → 410,1130.09ΔRGB(-2,-2,-7)antialiasing coverage residue on a shared outline
ColorValue248,36 → 297,850.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue206,36 → 223,510.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue194,114 → 211,1280.07ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue279,104 → 303,1280.06ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 191,450.06ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue201,114 → 218,1280.05ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue223,36 → 236,500.05ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue226,36 → 241,490.05ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage243,68 → 303,1280.05ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage265,90 → 303,1280.05ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage364,49 → 370,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
ColorValue282,107 → 303,1280.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage190,67 → 244,1110.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
ColorValue216,114 → 232,1280.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage342,34 → 342,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage471,36 → 471,1310.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage467,36 → 467,1280.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue216,36 → 228,470.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue189,114 → 205,1280.03ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue229,36 → 245,520.03ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue192,114 → 207,1280.03ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue214,114 → 229,1280.03ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue229,114 → 244,1280.03ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue297,122 → 303,1280.02ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue181,36 → 193,470.02ΔE 0.3 ΔRGB(1,0,0)fill recolour ΔRGB(+1,+0,+0) (ΔE 0.3)
AntialiasCoverage188,114 → 202,1280.02ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
ColorValue204,114 → 219,1280.02ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,114 → 192,1250.02ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue48,61 → 53,650.02ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue201,50 → 206,560.02ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue221,36 → 232,450.02ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage278,103 → 303,1280.02ΔE 0.1 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage387,50 → 392,580.02antialiasing coverage residue on a shared outline
ColorValue372,81 → 378,850.02ΔE 0.4 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.4)
AntialiasCoverage228,36 → 243,510.02ΔE 0.3 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,114 → 214,1280.02ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue362,76 → 366,830.02ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue294,119 → 303,1280.02ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage211,75 → 216,840.02ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
ColorValue191,49 → 195,530.01ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
AntialiasCoverage17,69 → 28,800.01ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-filters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x filters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 13.24% (134432 px) interactions-cartesian-backgrounds-gradients-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1849 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr184913443217,36 → 408,12811080total 17.4% · largest 1.4% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue68,55 → 138,1091.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue90,60 → 139,1091.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue26,55 → 97,1091.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue220,44 → 303,1280.9ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,69 → 303,1280.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue55,55 → 118,1090.6ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue354,86 → 408,1090.6ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue44,55 → 106,1090.6ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue18,66 → 57,1090.5ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,55 → 51,890.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue257,82 → 303,1280.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,57 → 303,1280.4ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,36 → 303,930.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue237,62 → 303,1280.4ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue241,36 → 278,690.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 289,790.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue17,55 → 36,750.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue246,36 → 296,850.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue59,55 → 78,690.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue354,86 → 371,1030.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue246,41 → 303,1000.2ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue229,54 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,76 → 41,1000.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue254,79 → 303,1280.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,39 → 303,970.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 192,1230.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue181,55 → 201,770.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue66,55 → 120,1090.10ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue246,36 → 283,730.09ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage53,55 → 108,1090.09ΔE 0.2 ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
ColorValue17,79 → 42,1040.08ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue246,36 → 297,870.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,94 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue377,86 → 394,1000.08ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue246,36 → 285,750.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,73 → 36,940.07ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue194,113 → 212,1280.07ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue206,36 → 223,510.07ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue48,55 → 62,650.07ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue279,104 → 303,1280.06ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 191,450.06ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue240,36 → 270,650.06ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
AntialiasCoverage245,36 → 281,710.06ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage246,36 → 292,820.06ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue201,113 → 219,1280.05ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue41,55 → 56,690.05ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue376,86 → 388,950.05ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue223,36 → 236,500.05ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue226,36 → 241,490.05ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage243,68 → 303,1280.05ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage265,90 → 303,1280.05ΔE 0.2 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
ColorValue17,55 → 26,640.04ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue216,113 → 233,1280.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,55 → 66,670.04ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue282,107 → 303,1280.04ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 13.16% (133665 px) interactions-cartesian-backgrounds-gradients-x-block-box-model · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
Cartesian family interaction for backgrounds-gradients and block-box-model: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2285 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr228513366517,36 → 408,1285205total 17.3% · largest 0.7% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue20,50 → 92,1140.7ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue67,50 → 138,1140.7ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue32,50 → 101,1140.5ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue17,66 → 57,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue89,64 → 139,1140.4ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue55,50 → 124,1140.4ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue230,36 → 268,650.4ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue218,36 → 255,650.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,50 → 49,820.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue99,74 → 139,1140.3ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue269,94 → 303,1280.3ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue77,52 → 139,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue82,57 → 139,1140.3ΔE 0.3 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.3)
ColorValue181,36 → 206,600.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue280,44 → 303,760.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue280,69 → 303,1010.3ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue44,50 → 111,1140.3ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue243,36 → 278,650.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue39,50 → 105,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue110,85 → 139,1140.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue17,50 → 38,710.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue195,36 → 218,560.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue280,82 → 303,1120.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue270,36 → 303,650.2ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue59,50 → 82,680.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue370,77 → 408,1150.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue220,113 → 244,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue244,113 → 268,1280.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue51,50 → 116,1140.2ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue181,52 → 196,720.2ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue354,71 → 398,1150.2ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue354,71 → 371,880.2ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue284,109 → 303,1280.2ΔE 0.2 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.2)
ColorValue257,36 → 289,650.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue257,113 → 279,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue381,88 → 408,1150.1ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue364,71 → 408,1150.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue280,57 → 303,840.1ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue280,62 → 303,890.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue29,50 → 94,1140.1ΔE 0.2 ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0.2)
ColorValue64,50 → 129,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,113 → 201,1280.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue358,71 → 404,1150.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue123,98 → 139,1140.1ΔE 0.2 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.2)
ColorValue386,93 → 408,1150.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue362,71 → 407,1150.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue264,36 → 296,650.1ΔE 0.2 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.2)
ColorValue354,89 → 374,1110.1ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue43,50 → 107,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue53,50 → 118,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
AntialiasCoverage62,50 → 126,1140.1ΔE 0.3 ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
ColorValue207,113 → 227,1280.1ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue75,50 → 139,1140.1ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue97,72 → 139,1140.10ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,107 → 191,1230.09ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue232,113 → 251,1280.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue237,113 → 256,1280.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue17,75 → 47,1060.08ΔE 0.3 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.3)
ColorValue181,95 → 188,1100.08ΔE 0.3 ΔRGB(0,1,1)fill recolour ΔRGB(+0,+1,+1) (ΔE 0.3)
ColorValue17,75 → 39,980.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue354,88 → 368,1050.08ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
ColorValue376,83 → 408,1150.08ΔE 0.3 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.3)
ColorValue377,71 → 394,850.07ΔE 0.3 ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
ColorValue194,113 → 212,1280.07ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
source · cases/interactions/interactions-cartesian-backgrounds-gradients-x-block-box-model.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-gradients x block-box-model interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-gradients {background-image:linear-gradient(135deg,rgba(255,209,102,.82),rgba(6,214,160,.42));}
61  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-gradients f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-gradients"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-gradients"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.99% · raw 2.21% (8287 px) interactions-cartesian-filters-x-paged-media · same-element-and-bidirectional-nesting · 4 pagesPASS via CSS-scale observation: one-sided sub-CSS outline coverageColorValuemissing 0.000466%ΔE 0.5
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw fill recolour ΔRGB(+1,+1,+0) (ΔE 0.5)
Cartesian family interaction for filters and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (26 total; showing 26 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Missing1114,34 → 14,341total 0.000329% · largest 0.000329%
ColorErr25828614,34 → 143,2006862total 2.7% · largest 2.3% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue14,34 → 143,2002.3ΔE 0.5 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.5)
AntialiasCoverage36,49 → 42,590.09ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
ColorValue46,46 → 55,580.06ΔRGB(4,4,2)fill recolour ΔRGB(+4,+4,+2) (ΔE 0)
AntialiasCoverage59,45 → 65,580.05ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage59,50 → 64,570.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage40,49 → 44,610.03ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage57,45 → 57,580.03ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage28,47 → 31,530.02ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,55 → 33,580.02antialiasing coverage residue on a shared outline
AntialiasCoverage50,52 → 53,560.02ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,59 → 40,610.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage28,46 → 32,500.01ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,52 → 50,560.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage32,50 → 33,540.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,50 → 27,550.009528ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,47 → 53,490.008871ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,56 → 54,580.008871ΔRGB(5,5,4)antialiasing coverage residue on a shared outline
AntialiasCoverage48,47 → 48,510.007556ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage33,55 → 35,580.006899antialiasing coverage residue on a shared outline
AntialiasCoverage50,50 → 52,510.005914ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage27,48 → 28,500.003943ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,52 → 28,530.003285ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage24,55 → 25,560.002957ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage24,57 → 24,580.001971ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
Missing14,34 → 14,340.000329candidate lacks paint present in reference (0.000329%)
AntialiasCoverage41,60 → 41,600.000329ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-filters f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.86% · raw 1.66% (16860 px) interactions-cartesian-backgrounds-borders-x-filters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: stable same-coordinate outline phaseColorValuemissing 0.000579%extra 0.000579%ΔE 2.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill colour differs (ΔE 2.8)
Cartesian family interaction for backgrounds-borders and filters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (93 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr891685614,34 → 471,1315000total 2.2% · largest 0.6%
Missing2214,48 → 22,1041total 0.000258% · largest 0.000129%
Extra2219,113 → 21,1151total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue14,48 → 143,1170.6ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0)
ColorValue352,65 → 410,1130.4ΔRGB(-1,-1,-1)fill recolour ΔRGB(-1,-1,-1) (ΔE 0)
AntialiasCoverage21,54 → 138,1130.1ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
ColorValue18,51 → 136,600.1ΔRGB(2,2,2)fill recolour ΔRGB(+2,+2,+2) (ΔE 0)
AntialiasCoverage343,34 → 471,1300.09ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage189,66 → 249,1150.04ΔRGB(-1,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage364,49 → 370,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,64 → 43,760.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage60,60 → 66,730.04ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage342,34 → 342,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage471,36 → 471,1310.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage467,36 → 467,1280.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue355,77 → 364,1100.03ΔRGB(2,2,2)fill recolour ΔRGB(+2,+2,+2) (ΔE 0)
AntialiasCoverage362,110 → 400,1110.03ΔRGB(9,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage16,57 → 17,1050.02ΔRGB(-21,-19,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage188,66 → 190,1140.02ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage387,50 → 392,580.02antialiasing coverage residue on a shared outline
AntialiasCoverage245,68 → 245,1120.02ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,76 → 217,880.02ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,76 → 380,880.02ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage58,60 → 59,730.02ΔRGB(-26,-26,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage51,61 → 56,710.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage378,46 → 383,560.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage368,49 → 372,610.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage41,64 → 44,760.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage366,76 → 371,880.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage385,45 → 385,580.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage28,62 → 32,680.009817ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage355,47 → 359,530.009688ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,76 → 200,880.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 374,580.009559ΔRGB(5,5,3)antialiasing coverage residue on a shared outline
AntialiasCoverage47,61 → 47,730.009559ΔRGB(6,6,4)antialiasing coverage residue on a shared outline
AntialiasCoverage208,76 → 208,880.009559ΔRGB(7,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage372,76 → 372,880.009559ΔRGB(6,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage387,45 → 392,510.009430ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 356,580.009430ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage390,51 → 393,580.008267ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,77 → 202,840.008138ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,77 → 366,840.008138ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage358,46 → 361,540.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,82 → 215,860.007363ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,76 → 364,840.007234ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,67 → 54,710.006975ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,52 → 381,560.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,82 → 379,860.006717ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage25,64 → 28,710.006459ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,77 → 214,810.006200ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,82 → 207,880.006200ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 381,510.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 54,660.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage18,104 → 21,1110.005813ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage202,76 → 204,810.004909ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage31,61 → 33,660.004650ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 376,560.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage49,67 → 49,710.003617ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage210,82 → 210,860.003617ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,860.003617ΔRGB(8,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage379,56 → 382,580.003359ΔRGB(8,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage33,67 → 35,700.003359ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage52,71 → 55,730.003359ΔRGB(10,9,9)antialiasing coverage residue on a shared outline
AntialiasCoverage376,77 → 379,790.003359ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage352,104 → 353,1070.003359antialiasing coverage residue on a shared outline
AntialiasCoverage376,47 → 376,510.003100ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage49,62 → 49,660.003100ΔRGB(4,3,4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-filters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x filters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.72% · raw 1.63% (6098 px) interactions-cartesian-filters-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 4.8
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and filters: the filters representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (37 total; showing 37 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr3760988,8 → 160,972250total 1.6% · largest 0.6%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage8,8 → 160,970.6ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
ColorValue10,10 → 158,940.3ΔRGB(-1,-1,-1)fill recolour ΔRGB(-1,-1,-1) (ΔE 0)
AntialiasCoverage19,41 → 73,850.1ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage52,20 → 58,320.08ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage75,39 → 75,860.08ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage28,23 → 35,340.08ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage40,49 → 44,610.03ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage43,20 → 48,320.03antialiasing coverage residue on a shared outline
ColorValue50,20 → 51,320.03ΔRGB(-26,-25,-20)fill recolour ΔRGB(-26,-25,-20) (ΔE 0)
AntialiasCoverage33,23 → 36,350.02ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage24,49 → 28,610.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage20,21 → 24,280.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
ColorValue39,20 → 39,320.02ΔRGB(5,5,3)fill recolour ΔRGB(+5,+5,+3) (ΔE 0)
AntialiasCoverage36,49 → 36,610.02ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage27,52 → 31,570.02ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage17,20 → 21,320.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,49 → 33,580.02ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage43,26 → 46,300.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage40,55 → 43,600.01ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,51 → 43,540.01ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,21 → 46,250.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage25,25 → 28,320.01antialiasing coverage residue on a shared outline
AntialiasCoverage23,20 → 25,250.008533ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage41,26 → 41,300.007467ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage38,55 → 38,600.007467ΔRGB(8,8,5)antialiasing coverage residue on a shared outline
AntialiasCoverage29,33 → 32,350.006933ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage41,21 → 41,250.006400ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage38,51 → 38,540.006400ΔRGB(9,9,5)antialiasing coverage residue on a shared outline
AntialiasCoverage18,29 → 20,320.005867antialiasing coverage residue on a shared outline
AntialiasCoverage25,29 → 26,320.005867ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage33,58 → 35,610.005867antialiasing coverage residue on a shared outline
AntialiasCoverage32,58 → 33,610.005333ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage26,58 → 27,600.004800ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage29,51 → 29,510.001067ΔRGB(3,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage25,60 → 26,610.000800ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage17,86 → 17,870.000533ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage10,10 → 10,100.000267ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-filters f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.29% · raw 1.49% (15175 px) interactions-cartesian-color-opacity-x-filters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: one-sided sub-CSS outline coverageColorValueextra 0.06%ΔE 0.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+0,+1,+0) (ΔE 0.3)
Cartesian family interaction for color-opacity and filters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (74 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr731496214,34 → 471,1314635total 1.9% · largest 0.6% · max ΔE 0.4
Extra1213143,49 → 143,116213total 0.03% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue352,65 → 410,1130.6ΔE 0.3 ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0.3)
AntialiasCoverage16,116 → 143,1170.2ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.1ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage15,48 → 143,1160.1ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage343,34 → 471,1300.09ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue371,75 → 380,870.09ΔE 0.4 ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0.4)
ColorValue359,75 → 370,870.07ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0)
AntialiasCoverage36,63 → 44,750.05antialiasing coverage residue on a shared outline
AntialiasCoverage188,65 → 248,1120.04ΔE 0.4 ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,49 → 370,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage342,34 → 342,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage471,36 → 471,1310.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage467,36 → 467,1280.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
Extra143,49 → 143,1160.03candidate adds paint absent from reference (0.03%)
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage188,65 → 189,1130.02ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage387,50 → 392,580.02antialiasing coverage residue on a shared outline
AntialiasCoverage59,60 → 65,720.02ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage59,64 → 64,710.02ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
ColorValue46,60 → 54,720.01ΔRGB(3,4,2)fill recolour ΔRGB(+3,+4,+2) (ΔE 0)
AntialiasCoverage57,60 → 60,720.01ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,46 → 383,560.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 55,700.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,49 → 372,610.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 53,700.01ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,79 → 216,840.01ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage385,45 → 385,580.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage355,47 → 359,530.009688ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
ColorValue374,46 → 374,580.009559ΔRGB(5,5,3)fill recolour ΔRGB(+5,+5,+3) (ΔE 0)
AntialiasCoverage207,75 → 207,870.009559ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage387,45 → 392,510.009430ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 356,580.009430ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,61 → 31,680.009430ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,860.008655ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 28,700.008396ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage390,51 → 393,580.008267ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage358,46 → 361,540.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 33,690.007880antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.007621ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage48,61 → 53,650.007492ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,52 → 381,560.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 381,510.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.005942ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 214,850.005555ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,75 → 215,780.005296ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,69 → 35,720.005167ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage24,69 → 27,720.004004antialiasing coverage residue on a shared outline
AntialiasCoverage212,85 → 215,870.003746ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 376,560.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(6,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage379,56 → 382,580.003359ΔRGB(8,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage376,47 → 376,510.003100ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 209,800.003100ΔRGB(6,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 355,580.002971ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 363,580.002971ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 213,780.002971ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 198,870.002971ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage203,84 → 204,870.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,55 → 361,580.002842ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,75 → 203,780.002842ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,80 → 203,830.002713ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,64 → 52,650.002454ΔRGB(-2,-3,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage202,79 → 203,800.001808ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-filters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x filters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.47% · raw 1.49% (15116 px) interactions-cartesian-filters-x-generated-content · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (54 total; showing 54 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr541511614,34 → 412,1331793total 2.0% · largest 0.2% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage179,34 → 307,1310.2ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue352,84 → 412,1330.2ΔE 0.4 ΔRGB(1,0,1)fill recolour ΔRGB(+1,+0,+1) (ΔE 0.4)
AntialiasCoverage180,36 → 303,1280.2antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 143,1160.1ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage16,50 → 143,1170.1ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.1ΔRGB(-1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage189,67 → 244,1110.1ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
ColorValue354,129 → 408,1300.07ΔRGB(-19,-17,-8)fill recolour ΔRGB(-19,-17,-8) (ΔE 0)
AntialiasCoverage199,49 → 207,610.06antialiasing coverage residue on a shared outline
AntialiasCoverage36,82 → 44,940.06ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage57,78 → 65,910.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue188,113 → 246,1130.05ΔRGB(-1,-1,0)fill recolour ΔRGB(-1,-1,+0) (ΔE 0)
AntialiasCoverage354,85 → 408,860.04ΔRGB(40,36,31)antialiasing coverage residue on a shared outline
AntialiasCoverage46,79 → 55,910.04ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage207,94 → 216,1060.04ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 229,580.03ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,94 → 370,1060.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage195,94 → 206,1060.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 219,580.02ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage188,65 → 246,650.02ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,78 → 200,860.02antialiasing coverage residue on a shared outline
AntialiasCoverage24,63 → 29,710.02antialiasing coverage residue on a shared outline
AntialiasCoverage24,83 → 35,910.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage25,104 → 29,1120.02ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,94 → 379,1060.02ΔRGB(8,7,3)antialiasing coverage residue on a shared outline
AntialiasCoverage362,95 → 366,1010.01ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,100 → 378,1040.01ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,94 → 380,1030.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage27,80 → 31,860.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 217,560.01ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage209,100 → 214,1040.01ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage190,52 → 199,580.01ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,95 → 203,1010.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,95 → 378,990.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage48,80 → 53,840.01ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 217,510.009946ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,79 → 33,870.007621ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage191,50 → 195,530.006588ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,46 → 196,520.005684antialiasing coverage residue on a shared outline
AntialiasCoverage211,56 → 218,580.004779ΔRGB(3,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage27,79 → 29,830.003746ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,99 → 198,1010.002454ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,95 → 199,970.002325ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 307,350.000775ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage197,98 → 198,980.000517ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,104 → 379,1040.000388ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue201,99 → 201,1000.000258ΔRGB(3,1,3)fill recolour ΔRGB(+3,+1,+3) (ΔE 0)
AntialiasCoverage29,65 → 29,650.000129ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage202,99 → 202,990.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-generated-content.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x generated-content interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-generated-content {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.79% · raw 1.46% (14846 px) interactions-cartesian-filters-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 0.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(-1,-1,-1) (ΔE 0.2)
Cartesian family interaction for filters and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (161 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1611484615,34 → 417,1312725total 1.9% · largest 0.4% · max ΔE 0.2

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue15,56 → 149,1250.4ΔRGB(-1,-1,-1)fill recolour ΔRGB(-1,-1,-1) (ΔE 0)
ColorValue188,63 → 251,1160.2ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0)
ColorValue190,65 → 249,1140.2ΔRGB(-2,-2,0)fill recolour ΔRGB(-2,-2,+0) (ΔE 0)
AntialiasCoverage353,62 → 417,1170.2ΔE 0.2 ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
ColorValue210,75 → 219,870.08ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0)
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue198,74 → 209,860.05ΔRGB(-2,-1,0)fill recolour ΔRGB(-2,-1,+0) (ΔE 0)
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage63,60 → 70,730.04ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 47,730.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage31,59 → 39,700.02ΔRGB(-13,-12,-11)antialiasing coverage residue on a shared outline
ColorValue201,76 → 206,820.02ΔRGB(2,1,2)fill recolour ΔRGB(+2,+1,+2) (ΔE 0)
AntialiasCoverage55,60 → 59,720.02ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,75 → 383,830.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,730.01ΔRGB(-12,-12,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage28,59 → 34,700.01ΔRGB(20,20,18)antialiasing coverage residue on a shared outline
AntialiasCoverage44,62 → 49,740.01ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage366,76 → 370,820.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 52,720.009171ΔRGB(10,10,4)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage374,75 → 376,860.008784ΔRGB(8,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage369,74 → 372,830.007880ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage54,67 → 58,710.006975ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,81 → 382,850.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage55,61 → 58,650.006200ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage41,72 → 44,740.005296ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,84 → 383,870.005296ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage363,78 → 366,830.004650ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,74 → 368,770.003875ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage52,66 → 52,700.003488ΔRGB(7,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage36,67 → 37,700.003359ΔRGB(23,23,20)antialiasing coverage residue on a shared outline
AntialiasCoverage376,81 → 377,850.003359ΔRGB(5,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage29,67 → 31,700.003229ΔRGB(-21,-20,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage370,83 → 371,860.003100ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,55 → 197,580.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage52,61 → 53,650.002971ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage416,72 → 416,790.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage416,76 → 416,830.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage415,80 → 416,860.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage415,87 → 415,930.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage414,94 → 414,1010.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage414,98 → 414,1040.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage413,102 → 414,1080.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage413,105 → 413,1120.002842ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage191,50 → 192,530.002713ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 377,800.002583ΔRGB(8,7,4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.78% · raw 1.36% (13859 px) interactions-cartesian-filters-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: stable same-coordinate outline phaseAntialiasCoveragemissing 0.06%extra 0.06%ΔE 8.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (72 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr68134266,34 → 403,1312210total 1.7% · largest 0.3%
Missing22175,48 → 7,117214total 0.03% · largest 0.03%
Extra2216151,48 → 153,116213total 0.03% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage6,48 → 153,1170.3ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
ColorValue342,65 → 403,1140.2fill colour differs (ΔE 0)
AntialiasCoverage8,50 → 149,1140.2ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage344,67 → 399,1110.1ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
ColorValue27,63 → 35,750.09ΔRGB(2,2,1)fill recolour ΔRGB(+2,+2,+1) (ΔE 0)
ColorValue48,60 → 57,720.08ΔRGB(-2,-2,-1)fill recolour ΔRGB(-2,-2,-1) (ΔE 0)
ColorValue15,60 → 27,720.07ΔRGB(-1,-1,-1)fill recolour ΔRGB(-1,-1,-1) (ΔE 0)
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue42,60 → 47,720.05ΔRGB(-7,-7,-5)fill recolour ΔRGB(-7,-7,-5) (ΔE 0)
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue366,75 → 371,870.04ΔRGB(5,4,4)fill recolour ΔRGB(+5,+4,+4) (ΔE 0)
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
Missing5,48 → 5,1160.03candidate lacks paint present in reference (0.03%)
Extra153,49 → 153,1160.03candidate adds paint absent from reference (0.03%)
ColorValue37,60 → 38,720.02ΔRGB(102,95,83)fill recolour ΔRGB(+102,+95,+83) (ΔE 0)
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage356,75 → 361,870.02ΔRGB(44,40,34)antialiasing coverage residue on a shared outline
AntialiasCoverage350,75 → 355,870.01ΔRGB(-45,-42,-36)antialiasing coverage residue on a shared outline
ColorValue353,76 → 357,830.01ΔRGB(-1,-1,0)fill recolour ΔRGB(-1,-1,+0) (ΔE 0)
AntialiasCoverage362,75 → 363,870.01ΔRGB(-77,-72,-62)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,75 → 216,840.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 207,870.009559ΔRGB(8,6,7)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.008138ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
ColorValue39,66 → 40,700.007234ΔRGB(-96,-91,-76)fill recolour ΔRGB(-96,-91,-76) (ΔE 0)
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
ColorValue39,61 → 40,650.006200ΔRGB(-96,-91,-76)fill recolour ΔRGB(-96,-91,-76) (ΔE 0)
AntialiasCoverage211,76 → 213,800.005425ΔRGB(-3,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage364,81 → 364,850.005425ΔRGB(107,101,89)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.005296ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,800.004650ΔRGB(107,101,89)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage351,84 → 353,870.004004ΔRGB(33,31,26)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 214,840.003875ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage358,84 → 359,870.003875ΔRGB(-45,-43,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage212,85 → 215,870.003746ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage202,77 → 203,810.003617ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(9,8,6)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 209,800.003100ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage203,84 → 204,870.003100ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,55 → 197,580.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage191,50 → 192,530.002713ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage211,84 → 214,850.002713ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 198,870.002583ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,80 → 202,830.002454ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,51 → 195,530.002325ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 191,580.002325ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 216,480.001292ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.48% · raw 1.36% (13789 px) interactions-cartesian-effects-x-filters · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+0,+0,-1) (ΔE 0.4)
Cartesian family interaction for effects and filters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (90 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr901378914,34 → 471,1313836total 1.8% · largest 0.5% · max ΔE 0.4

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue15,48 → 150,1220.5ΔE 0.4 ΔRGB(0,0,-1)fill recolour ΔRGB(+0,+0,-1) (ΔE 0.4)
ColorValue17,50 → 139,1140.2ΔRGB(0,-1,-3)fill recolour ΔRGB(+0,-1,-3) (ΔE 0)
AntialiasCoverage343,34 → 471,1300.09ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage188,65 → 248,1140.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
ColorValue354,67 → 408,670.04ΔRGB(1,-1,-4)fill recolour ΔRGB(+1,-1,-4) (ΔE 0)
ColorValue354,110 → 408,1110.04ΔRGB(0,1,7)fill recolour ΔRGB(+0,+1,+7) (ΔE 0)
AntialiasCoverage364,49 → 370,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,63 → 42,750.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage356,68 → 406,690.04ΔRGB(-1,2,7)antialiasing coverage residue on a shared outline
AntialiasCoverage356,108 → 406,1090.04ΔRGB(1,-1,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage342,34 → 342,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage471,36 → 471,1310.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage59,60 → 65,720.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage467,36 → 467,1280.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue190,113 → 245,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage387,50 → 392,580.02antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 55,720.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,75 → 216,840.02ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage378,46 → 383,560.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage368,49 → 372,610.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 44,750.01ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,830.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 364,850.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage385,45 → 385,580.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 57,720.01ΔRGB(-3,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage355,47 → 359,530.009688ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 34,700.009688ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue374,46 → 374,580.009559ΔRGB(5,5,3)fill recolour ΔRGB(+5,+5,+3) (ΔE 0)
AntialiasCoverage24,60 → 28,720.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue46,60 → 46,720.009559ΔRGB(6,6,3)fill recolour ΔRGB(+6,+6,+3) (ΔE 0)
AntialiasCoverage207,75 → 207,870.009559ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
ColorValue371,75 → 371,870.009559ΔRGB(10,10,5)fill recolour ΔRGB(+10,+10,+5) (ΔE 0)
AntialiasCoverage387,45 → 392,510.009430ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 356,580.009430ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage390,51 → 393,580.008267ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.008138ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage358,46 → 361,540.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007105ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,52 → 381,560.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,66 → 53,700.006846ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 214,850.006846ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 368,840.006200ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.006200ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 381,510.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.005813ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage27,62 → 29,680.004909ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage201,75 → 203,800.004909ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,84 → 380,870.004521ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage29,62 → 31,680.004263ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,85 → 215,870.003746ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 376,560.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 48,700.003617ΔRGB(4,3,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage372,81 → 373,850.003617ΔRGB(7,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 53,630.003488ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,56 → 382,580.003359ΔRGB(8,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage376,47 → 376,510.003100ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage48,61 → 48,650.003100ΔRGB(4,3,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 209,800.003100ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-filters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x filters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.72% · raw 1.28% (12969 px) interactions-cartesian-filters-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via CSS-scale observation: one-sided sub-CSS outline coverageAntialiasCoverageextra 0.001044%ΔE 2.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (91 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr891296614,34 → 412,1312114total 1.7% · largest 0.3%
Extra2322,52 → 133,522total 0.000388% · largest 0.000258%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage14,52 → 143,1120.3ΔRGB(2,3,2)antialiasing coverage residue on a shared outline
ColorValue188,65 → 246,1130.1ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0)
ColorValue189,67 → 244,1110.1ΔRGB(1,1,1)fill recolour ΔRGB(+1,+1,+1) (ΔE 0)
ColorValue17,55 → 134,1090.1ΔRGB(-3,-2,-2)fill recolour ΔRGB(-3,-2,-2) (ΔE 0)
AntialiasCoverage352,84 → 412,1090.08ΔRGB(-2,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,52 → 132,560.05ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage354,85 → 408,860.04ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,68 → 42,800.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage132,55 → 139,1030.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,94 → 380,1060.04ΔRGB(8,7,3)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,94 → 370,1060.03ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage59,65 → 65,770.03ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage140,60 → 141,1050.02ΔRGB(8,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,95 → 366,1010.01ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,65 → 55,750.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage213,75 → 216,840.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage40,68 → 44,800.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,95 → 378,990.01ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage27,67 → 31,730.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage410,85 → 412,1090.01ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,65 → 57,770.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
ColorValue46,65 → 46,770.009559ΔRGB(7,7,4)fill recolour ΔRGB(+7,+7,+4) (ΔE 0)
AntialiasCoverage207,75 → 207,870.009559ΔRGB(8,6,7)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,65 → 33,740.008138ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.008138ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage25,65 → 28,740.007621ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,71 → 53,760.007105ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,67 → 53,700.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 213,800.005425ΔRGB(-3,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.005296ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 214,840.003875ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,85 → 215,870.003746ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,71 → 48,760.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage202,77 → 203,810.003617ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(9,8,6)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage136,105 → 138,1080.003488ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,76 → 54,770.003229ΔRGB(11,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage48,67 → 48,700.003100ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 209,800.003100ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage203,84 → 204,870.003100ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,55 → 197,580.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,74 → 33,770.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.60% · raw 1.19% (12127 px) interactions-cartesian-filters-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 4.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(-1,+0,-1) (ΔE 4.6)
Cartesian family interaction for filters and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (85 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr851212714,34 → 470,1311832total 1.6% · largest 0.2%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue410,43 → 470,920.2ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage412,44 → 466,890.2ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage76,57 → 79,1070.08ΔRGB(1,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
ColorValue416,53 → 428,650.07ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0)
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue433,53 → 438,650.05ΔRGB(-9,-8,-7)fill recolour ΔRGB(-9,-8,-7) (ΔE 0)
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,63 → 42,750.04antialiasing coverage residue on a shared outline
AntialiasCoverage59,60 → 65,720.04antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue428,53 → 429,650.02ΔRGB(78,74,65)fill recolour ΔRGB(+78,+74,+65) (ΔE 0)
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 55,700.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage213,75 → 216,840.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 44,750.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,61 → 31,680.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 57,720.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 28,720.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue46,60 → 46,720.009559ΔRGB(6,6,4)fill recolour ΔRGB(+6,+6,+4) (ΔE 0)
AntialiasCoverage207,75 → 207,870.009559ΔRGB(8,6,7)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.008138ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 33,680.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
ColorValue430,59 → 431,630.007234ΔRGB(-60,-57,-53)fill recolour ΔRGB(-60,-57,-53) (ΔE 0)
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,66 → 53,700.006330ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
ColorValue430,54 → 431,580.006200ΔRGB(-60,-57,-53)fill recolour ΔRGB(-60,-57,-53) (ΔE 0)
AntialiasCoverage211,76 → 213,800.005425ΔRGB(-3,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.005296ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,64 → 39,690.005167ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 214,840.003875ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,85 → 215,870.003746ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 48,700.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage202,77 → 203,810.003617ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(9,8,6)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 53,630.003359ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage48,61 → 48,650.003100ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage51,70 → 54,720.003100ΔRGB(10,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 209,800.003100ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage203,84 → 204,870.003100ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,55 → 197,580.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,69 → 33,720.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.35% · raw 1.17% (11933 px) interactions-cartesian-filters-x-filters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: one-sided sub-CSS outline coverageAntialiasCoveragemissing 0.01%ΔE 1.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and filters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (115 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1141189614,34 → 471,131704total 1.5% · largest 0.09%
Missing137371,75 → 371,8737total 0.004779% · largest 0.004779%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage343,34 → 471,1300.09ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue190,67 → 244,1110.08ΔRGB(0,0,-1)fill recolour ΔRGB(+0,+0,-1) (ΔE 0)
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue354,110 → 407,1110.04ΔRGB(0,0,-1)fill recolour ΔRGB(+0,+0,-1) (ΔE 0)
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage364,49 → 370,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage342,34 → 342,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage471,36 → 471,1310.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage467,36 → 467,1280.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,63 → 42,750.04antialiasing coverage residue on a shared outline
AntialiasCoverage59,60 → 65,720.04antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
ColorValue190,113 → 245,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage387,50 → 392,580.02antialiasing coverage residue on a shared outline
AntialiasCoverage211,75 → 216,840.02ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage246,66 → 246,1120.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,870.02ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 55,700.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,46 → 383,560.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage368,49 → 372,610.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 44,750.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage201,75 → 206,870.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,61 → 31,680.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 366,830.01ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage385,45 → 385,580.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 57,720.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage355,47 → 359,530.009688ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
ColorValue374,46 → 374,580.009559ΔRGB(5,5,3)fill recolour ΔRGB(+5,+5,+3) (ΔE 0)
AntialiasCoverage24,60 → 28,720.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue46,60 → 46,720.009559ΔRGB(6,6,4)fill recolour ΔRGB(+6,+6,+4) (ΔE 0)
AntialiasCoverage207,75 → 207,870.009559ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage387,45 → 392,510.009430ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 356,580.009430ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,75 → 364,840.008655ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,75 → 368,840.008526ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage390,51 → 393,580.008267ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage358,46 → 361,540.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 33,680.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.007880ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.006975ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,52 → 381,560.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 214,850.006846ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,66 → 53,700.006330ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 381,510.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.005942ΔRGB(-3,-2,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-filters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x filters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-filters f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.51% · raw 1.13% (11524 px) interactions-cartesian-filters-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 1.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill colour differs (ΔE 1.5)
Cartesian family interaction for filters and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (86 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr861152414,34 → 412,1313722total 1.5% · largest 0.5%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue14,48 → 143,1170.5ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0)
ColorValue188,110 → 246,1130.10ΔRGB(4,2,1)fill recolour ΔRGB(+4,+2,+1) (ΔE 0)
ColorValue188,65 → 246,670.10ΔRGB(-1,3,2)fill recolour ΔRGB(-1,+3,+2) (ΔE 0)
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,65 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage59,60 → 65,720.04ΔRGB(1,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,63 → 42,750.04antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage412,67 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,75 → 216,870.02ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,60 → 55,720.02ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,840.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 44,750.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,61 → 31,680.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,77 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 57,720.01ΔRGB(-1,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 28,720.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 46,720.009559ΔRGB(3,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 207,870.009559ΔRGB(3,10,10)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,870.009559ΔRGB(8,7,4)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,75 → 368,840.008655ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.008138ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 33,680.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007105ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,66 → 53,700.006975ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 214,850.006846ΔRGB(1,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,75 → 364,820.006717ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.006071ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 53,650.005684ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 213,800.005684ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.005296ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,64 → 39,690.005167ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage359,83 → 361,870.004134ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 48,700.003617ΔRGB(2,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage202,77 → 203,810.003617ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(3,9,9)antialiasing coverage residue on a shared outline
AntialiasCoverage372,81 → 373,850.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage376,85 → 379,870.003617ΔRGB(11,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage48,61 → 48,650.003100ΔRGB(2,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 209,800.003100ΔRGB(3,9,9)antialiasing coverage residue on a shared outline
AntialiasCoverage372,76 → 373,800.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage203,84 → 204,870.003100ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.48% · raw 1.04% (10612 px) interactions-cartesian-filters-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (103 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1031061214,34 → 412,131615total 1.4% · largest 0.08%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,62 → 47,750.07ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 219,870.05ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 58,720.05ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 382,870.05ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage352,65 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 370,870.04ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 206,870.04ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 35,720.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage60,60 → 66,710.03ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage412,67 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,76 → 204,830.02ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
ColorValue364,76 → 368,830.02ΔRGB(5,5,4)fill recolour ΔRGB(+5,+5,+4) (ΔE 0)
ColorValue28,61 → 33,680.02ΔRGB(3,2,2)fill recolour ΔRGB(+3,+2,+2) (ΔE 0)
AntialiasCoverage59,63 → 67,720.01ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,81 → 380,850.01ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 55,700.01ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 215,850.01ΔRGB(5,5,4)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage58,60 → 62,700.009946ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage196,55 → 197,580.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage191,50 → 192,530.002713ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage194,51 → 195,530.002325ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.44% · raw 1.03% (10411 px) interactions-cartesian-filters-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 4.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (89 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr891041114,34 → 412,1311446total 1.3% · largest 0.2%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage59,57 → 100,810.2ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage216,72 → 251,960.08ΔRGB(-23,-22,-28)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,43 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,72 → 42,840.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage190,96 → 244,1110.03ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage211,84 → 216,930.02ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage412,66 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,69 → 55,810.02ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,840.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage40,72 → 44,840.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,77 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,68 → 57,810.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage27,70 → 31,760.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage24,69 → 28,810.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,69 → 46,810.009559ΔRGB(9,8,5)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,870.009559ΔRGB(8,7,4)antialiasing coverage residue on a shared outline
AntialiasCoverage207,84 → 207,960.009559ΔRGB(7,5,6)antialiasing coverage residue on a shared outline
AntialiasCoverage195,84 → 199,960.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,75 → 368,840.008655ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,69 → 33,770.008138ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage198,85 → 201,920.007492ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007105ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,75 → 53,790.006975ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,90 → 214,940.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,75 → 364,820.006717ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.006071ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage50,70 → 53,740.005942ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage203,90 → 206,960.005813ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage244,67 → 244,720.004263ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage359,83 → 361,870.004134ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,94 → 215,960.003746ΔRGB(9,8,6)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,75 → 48,790.003617ΔRGB(6,5,4)antialiasing coverage residue on a shared outline
AntialiasCoverage372,81 → 373,850.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage376,85 → 379,870.003617ΔRGB(11,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage209,90 → 209,940.003617ΔRGB(7,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage202,86 → 203,900.003488ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.36% · raw 0.98% (9923 px) interactions-cartesian-filters-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageAntialiasCoverageΔE 1.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (106 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr106992314,34 → 412,131615total 1.3% · largest 0.08%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage352,65 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,63 → 57,750.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage190,86 → 245,1110.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,75 → 230,870.04ΔRGB(1,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 69,720.03ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage81,60 → 85,720.02ΔRGB(7,7,6)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage412,67 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage242,67 → 246,830.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage89,64 → 94,710.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage89,63 → 96,720.01antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage216,75 → 221,870.01ΔRGB(18,17,15)antialiasing coverage residue on a shared outline
AntialiasCoverage210,75 → 215,870.01ΔRGB(-19,-18,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage213,76 → 218,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,840.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage55,63 → 59,750.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 33,720.01ΔRGB(-1,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage201,75 → 204,870.01ΔRGB(-1,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage45,60 → 50,720.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,77 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage88,60 → 88,720.01ΔRGB(-6,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage77,60 → 77,720.009559ΔRGB(-19,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage237,75 → 238,870.009559ΔRGB(10,9,5)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,870.009559ΔRGB(8,7,4)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,75 → 368,840.008655ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage242,81 → 244,850.008526antialiasing coverage residue on a shared outline
AntialiasCoverage89,60 → 93,650.008009ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage61,66 → 66,720.007880ΔRGB(1,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007105ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,75 → 364,820.006717ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage28,62 → 28,700.006588ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage81,66 → 84,700.006330ΔRGB(-8,-9,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage196,76 → 199,850.006330ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 244,800.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.006071ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage25,60 → 28,620.005555ΔRGB(1,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage45,63 → 47,680.004779ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,69 → 37,720.004779ΔRGB(0,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage233,84 → 235,870.004779ΔRGB(-1,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 44,680.004263ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage359,83 → 361,870.004134ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,84 → 208,870.004134ΔRGB(-1,-4,-4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.29% · raw 0.96% (9788 px) interactions-cartesian-filters-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.000871%extra 0.01%ΔE 0.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (170 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr159974914,34 → 412,131615total 1.3% · largest 0.08% · max ΔE 2.3
Extra103627,60 → 395,859total 0.004650% · largest 0.001163%
Missing13353,63 → 353,643total 0.000388% · largest 0.000388%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage352,65 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,63 → 42,750.04ΔE 0.4antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage58,60 → 66,730.04ΔE 0.8 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 0.7 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,870.02ΔE 0.9 ΔRGB(-2,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage412,67 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage213,75 → 217,880.02ΔE 0.8 ΔRGB(-2,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 55,700.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 44,750.01ΔRGB(-3,-2,-3)antialiasing coverage residue on a shared outline
ColorValue32,64 → 35,720.01ΔE 1.0 ΔRGB(-2,0,0)fill recolour ΔRGB(-2,+0,+0) (ΔE 1.0)
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,61 → 31,680.01ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 57,720.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 28,720.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue46,60 → 46,720.009559ΔRGB(6,6,4)fill recolour ΔRGB(+6,+6,+4) (ΔE 0)
AntialiasCoverage207,75 → 207,870.009559ΔRGB(8,6,7)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,870.009559ΔRGB(8,7,4)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,78 → 67,780.008267ΔE 0.4 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,78 → 45,780.008138ΔE 0.4 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.007750ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007492ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.007105ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 53,700.006717ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,75 → 364,820.006717ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.006200ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,75 → 204,810.006071ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 213,800.005942ΔRGB(-1,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,75 → 367,800.005425ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 32,640.005167ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage62,68 → 65,720.004650ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 369,840.004134ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,83 → 361,870.004134ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
ColorValue212,81 → 214,840.003746ΔRGB(-2,-1,-1)fill recolour ΔRGB(-2,-1,-1) (ΔE 0)
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 53,630.003617ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 48,700.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(8,9,7)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.37% · raw 0.95% (9651 px) interactions-cartesian-filters-x-flexbox · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (81 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr81965114,34 → 461,1311115total 1.2% · largest 0.1%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage401,58 → 461,1070.1ΔRGB(-1,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage68,77 → 75,880.04ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage92,74 → 98,860.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage403,60 → 403,1040.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage457,60 → 457,1040.04ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage424,68 → 429,800.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,81 → 227,920.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage83,74 → 88,860.02antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage73,77 → 76,890.01ΔRGB(-5,-6,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 217,930.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage63,74 → 68,860.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage209,83 → 213,890.01ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage60,76 → 64,820.01ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage411,69 → 415,760.01ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage414,68 → 419,800.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage90,74 → 90,860.01ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage420,68 → 420,800.009559ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage79,74 → 79,860.009559ΔRGB(10,10,9)antialiasing coverage residue on a shared outline
ColorValue218,81 → 218,930.009559ΔRGB(9,8,5)fill recolour ΔRGB(+9,+8,+5) (ΔE 0)
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage83,80 → 86,840.007234ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage424,74 → 427,780.006975ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage206,86 → 209,930.006459ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage83,76 → 85,790.006200ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage222,83 → 225,860.005942ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage408,74 → 410,800.005425ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage69,87 → 72,890.005038ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,81 → 59,860.004263ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage208,81 → 210,850.003875ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage422,74 → 422,780.003617ΔRGB(6,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage59,77 → 60,810.003617ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage81,80 → 81,840.003617ΔRGB(8,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage220,87 → 220,920.003617ΔRGB(6,4,5)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage223,91 → 226,930.003488ΔRGB(11,10,10)antialiasing coverage residue on a shared outline
AntialiasCoverage207,90 → 209,930.003229ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage422,69 → 422,730.003100ΔRGB(6,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage81,76 → 81,790.003100ΔRGB(8,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage409,77 → 411,800.003100ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-flexbox.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x flexbox interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.28% · raw 0.95% (9598 px) interactions-cartesian-filters-x-tables · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (92 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr92959814,34 → 415,131615total 1.2% · largest 0.08%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage356,69 → 411,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage355,68 → 415,1160.06ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage68,66 → 74,780.04ΔRGB(8,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage41,69 → 48,800.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage357,117 → 414,1170.02ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage355,68 → 356,1170.02ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage415,69 → 415,1160.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage220,81 → 225,930.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage59,66 → 64,780.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,78 → 383,870.02ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage66,66 → 67,780.02ΔRGB(-31,-29,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,69 → 50,810.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage36,66 → 41,780.01ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,79 → 369,850.01ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,81 → 205,930.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
ColorValue55,66 → 55,780.009559ΔRGB(7,7,4)fill recolour ΔRGB(+7,+7,+4) (ΔE 0)
AntialiasCoverage30,67 → 34,780.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage374,78 → 374,900.009559ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage216,81 → 216,930.009559ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 365,900.007363ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue205,83 → 208,880.007363ΔRGB(1,1,0)fill recolour ΔRGB(+1,+1,+0) (ΔE 0)
AntialiasCoverage220,87 → 223,920.007363ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage59,72 → 62,760.007234ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 381,880.006846ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage220,83 → 222,860.006200ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage59,68 → 62,710.005942ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 35,740.005684ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage43,79 → 46,810.005296ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage368,78 → 370,830.004650ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage207,81 → 209,860.004650ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,69 → 37,740.004521ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage209,87 → 211,900.003875antialiasing coverage residue on a shared outline
AntialiasCoverage379,88 → 382,900.003746ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage57,72 → 57,760.003617ΔRGB(5,5,4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,84 → 372,870.003617ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,84 → 376,880.003617ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage218,87 → 218,920.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 366,820.003359ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.39% · raw 0.94% (9596 px) interactions-cartesian-filters-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageAntialiasCoverageΔE 5.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (74 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr74959614,34 → 412,131615total 1.2% · largest 0.08%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,77 → 212,890.07ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 49,740.07ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
ColorValue51,61 → 59,740.06ΔRGB(-5,-4,-4)fill recolour ΔRGB(-5,-4,-4) (ΔE 0)
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue32,61 → 38,700.05ΔRGB(-2,-2,-2)fill recolour ΔRGB(-2,-2,-2) (ΔE 0)
AntialiasCoverage352,65 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
ColorValue24,59 → 32,680.04ΔRGB(-2,-2,-2)fill recolour ΔRGB(-2,-2,-2) (ΔE 0)
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage195,74 → 202,830.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage412,67 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 380,850.01ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage359,76 → 364,880.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage371,76 → 371,880.009559ΔRGB(8,7,4)antialiasing coverage residue on a shared outline
AntialiasCoverage362,77 → 366,840.009559ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 368,840.008396ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,82 → 378,860.007105ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,77 → 378,810.006071ΔRGB(-2,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,82 → 373,860.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage372,77 → 373,810.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage360,85 → 362,880.003100ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,86 → 379,880.003100ΔRGB(14,12,10)antialiasing coverage residue on a shared outline
AntialiasCoverage196,55 → 197,580.002971ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,85 → 368,880.002842ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage191,50 → 192,530.002713ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage194,51 → 195,530.002325ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 191,580.002325ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage200,80 → 202,830.002196ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage196,81 → 196,830.001550ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,85 → 369,860.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 216,480.001292ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage369,87 → 370,880.001163ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.26% · raw 0.93% (9493 px) interactions-cartesian-block-box-model-x-filters · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 1.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and filters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (92 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr92949314,34 → 471,131704total 1.2% · largest 0.09%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage343,34 → 471,1300.09ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,67 → 42,790.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage364,49 → 370,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
ColorValue190,70 → 246,1170.04ΔRGB(0,1,0)fill recolour ΔRGB(+0,+1,+0) (ΔE 0)
AntialiasCoverage189,70 → 244,1150.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage342,34 → 342,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage471,36 → 471,1310.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage467,36 → 467,1280.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage354,111 → 441,1110.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage59,64 → 65,760.04antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage188,68 → 248,700.03ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage191,118 → 247,1180.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage188,69 → 190,1180.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage387,50 → 392,580.02antialiasing coverage residue on a shared outline
AntialiasCoverage248,70 → 248,1170.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage442,67 → 442,1100.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,64 → 55,760.02antialiasing coverage residue on a shared outline
AntialiasCoverage211,79 → 216,880.02ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage378,46 → 383,560.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage368,49 → 372,610.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage40,67 → 44,790.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,830.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,67 → 31,720.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 364,850.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage385,45 → 385,580.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,64 → 57,760.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage355,47 → 359,530.009688ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage195,79 → 199,910.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue374,46 → 374,580.009559ΔRGB(5,5,3)fill recolour ΔRGB(+5,+5,+3) (ΔE 0)
ColorValue46,64 → 46,760.009559ΔRGB(7,7,4)fill recolour ΔRGB(+7,+7,+4) (ΔE 0)
ColorValue371,75 → 371,870.009559ΔRGB(10,10,5)fill recolour ΔRGB(+10,+10,+5) (ΔE 0)
AntialiasCoverage207,79 → 207,910.009559ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage387,45 → 392,510.009430ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 356,580.009430ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage24,64 → 28,750.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage390,51 → 393,580.008267ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage198,80 → 201,860.008138ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage358,46 → 361,540.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,70 → 53,750.007105ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007105ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,52 → 381,560.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,85 → 214,890.006846ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 368,840.006200ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,85 → 206,910.006200ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 381,510.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage50,66 → 53,690.005942ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.005813ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage201,79 → 203,840.004909ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,84 → 380,870.004521ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage32,68 → 33,730.004134ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,89 → 215,910.003746ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 376,560.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage30,64 → 32,680.003617ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,70 → 48,750.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage372,81 → 373,850.003617ΔRGB(7,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage209,85 → 209,890.003617ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage379,56 → 382,580.003359ΔRGB(8,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage376,47 → 376,510.003100ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-filters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x filters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.29% · raw 0.92% (9328 px) interactions-cartesian-filters-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (78 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr78932814,34 → 412,131615total 1.2% · largest 0.08%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage352,65 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 60,740.04ΔRGB(4,3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage373,75 → 383,890.04ΔRGB(4,4,1)antialiasing coverage residue on a shared outline
AntialiasCoverage209,75 → 219,890.03ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage37,63 → 45,760.02ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage63,60 → 72,750.02ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage412,67 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage194,75 → 200,890.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage65,65 → 70,720.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,65 → 45,720.02ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage23,60 → 29,740.02ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,780.01ΔRGB(-6,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,82 → 381,870.01ΔRGB(-1,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,78 → 367,840.01antialiasing coverage residue on a shared outline
AntialiasCoverage212,82 → 217,870.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage28,63 → 32,680.01antialiasing coverage residue on a shared outline
AntialiasCoverage52,67 → 58,720.01ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage68,63 → 73,720.01ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,84 → 372,890.01ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 364,870.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,77 → 216,800.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage375,77 → 380,800.01ΔRGB(-4,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage32,69 → 36,740.009946ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,75 → 369,830.008396ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage31,60 → 34,690.008267ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,80 → 203,840.007880ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage202,76 → 205,840.007621ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,75 → 219,790.006459ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage358,85 → 362,890.006200ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,75 → 41,780.005813ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,85 → 207,890.005555ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage52,62 → 55,650.004909ΔRGB(-9,-7,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage200,78 → 202,810.004263ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage55,63 → 57,650.003875ΔRGB(-4,-3,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage205,84 → 207,880.003746ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.88% · raw 0.89% (3327 px) interactions-cartesian-inline-text-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 37.0
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and inline-text: the inline-text representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (9 total; showing 9 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr933278,22 → 160,971425total 0.9% · largest 0.4%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage8,96 → 160,970.4ΔRGB(-129,-126,-76)antialiasing coverage residue on a shared outline
AntialiasCoverage10,94 → 158,950.4ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
AntialiasCoverage33,22 → 42,340.04ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage46,25 → 52,340.03ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage46,26 → 51,330.03ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage35,28 → 40,330.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage35,23 → 40,270.02ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage44,22 → 46,220.003200ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,34 → 46,340.001600ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-inline-text {line-height:1.35;word-spacing:5px;}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-inline-text f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.27% · raw 0.86% (8763 px) interactions-cartesian-filters-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (92 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr92876314,34 → 412,131615total 1.1% · largest 0.08%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage352,65 → 412,1130.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue127,93 → 134,1060.04ΔRGB(-3,-3,-3)fill recolour ΔRGB(-3,-3,-3) (ΔE 0)
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,63 → 42,750.04antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
ColorValue354,113 → 410,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage354,111 → 407,1110.02ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage412,67 → 412,1130.02ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage119,94 → 124,1060.02antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage234,91 → 239,1000.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,840.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 44,750.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,61 → 31,680.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,77 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage126,93 → 126,1060.01ΔRGB(13,12,11)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 28,720.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,870.009559ΔRGB(8,7,4)antialiasing coverage residue on a shared outline
AntialiasCoverage230,91 → 230,1030.009559ΔRGB(8,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage115,94 → 115,1060.009559ΔRGB(6,5,4)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,75 → 368,840.008655ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.008138ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 33,680.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage234,97 → 237,1010.007363ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007105ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage119,100 → 122,1040.006975ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,75 → 364,820.006717ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage234,92 → 236,960.006200ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage119,95 → 121,990.006200ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.006071ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.005296ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,64 → 39,690.005167ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage359,83 → 361,870.004134ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage235,100 → 238,1030.004004ΔRGB(5,5,3)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage202,77 → 203,810.003617ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,81 → 373,850.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage376,85 → 379,870.003617ΔRGB(11,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage232,97 → 232,1010.003617ΔRGB(7,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage116,100 → 117,1040.003617ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.26% · raw 0.84% (8547 px) interactions-cartesian-filters-x-grid · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for filters and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (87 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr87854714,34 → 462,131615total 1.1% · largest 0.08%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage15,48 → 143,1160.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,50 → 139,1140.08ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.06ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 305,340.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,117 → 143,1170.05ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage402,58 → 462,1070.05ΔRGB(-1,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 206,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,77 → 42,890.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage179,34 → 180,1310.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage305,35 → 305,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage303,36 → 303,1280.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage59,74 → 65,860.04antialiasing coverage residue on a shared outline
AntialiasCoverage14,48 → 14,1150.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage143,50 → 143,1170.03ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,81 → 216,910.02ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage462,60 → 462,1070.02ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage458,60 → 458,1040.02ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,74 → 55,860.02antialiasing coverage residue on a shared outline
AntialiasCoverage222,50 → 228,570.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,46 → 219,550.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage425,68 → 429,780.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,49 → 207,610.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage40,77 → 44,890.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage412,69 → 416,760.01ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage194,46 → 199,580.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage225,49 → 229,580.01ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage221,45 → 221,580.01ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,74 → 57,860.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage198,83 → 203,890.01ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,76 → 31,820.009688ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 211,580.009559ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage421,68 → 421,800.009559ΔRGB(6,5,4)antialiasing coverage residue on a shared outline
ColorValue46,74 → 46,860.009559ΔRGB(10,9,5)fill recolour ΔRGB(+10,+9,+5) (ΔE 0)
AntialiasCoverage207,81 → 207,930.009559ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage195,82 → 199,930.009559ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 192,580.008913ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,74 → 33,830.008138ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage25,74 → 28,830.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage222,45 → 227,510.007750ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage409,72 → 412,800.007363ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,52 → 217,560.006846ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage425,74 → 428,780.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,80 → 53,840.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,87 → 214,920.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage425,69 → 428,730.006330ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,76 → 53,790.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage203,87 → 206,930.005425ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage415,68 → 417,730.004650ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,47 → 194,500.004134antialiasing coverage residue on a shared outline
AntialiasCoverage214,48 → 217,510.004004ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,91 → 215,930.003746ΔRGB(9,8,6)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 212,560.003617ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage222,56 → 225,580.003617ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage417,74 → 419,770.003617ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage423,74 → 423,780.003617ΔRGB(8,8,4)antialiasing coverage residue on a shared outline
AntialiasCoverage48,80 → 48,840.003617ΔRGB(7,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage209,87 → 209,920.003617ΔRGB(7,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage215,56 → 218,580.003488ΔRGB(7,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage426,78 → 429,800.003488ΔRGB(9,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage412,68 → 413,720.003359ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage202,83 → 203,870.003229ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,47 → 212,510.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage423,69 → 423,730.003100ΔRGB(8,8,4)antialiasing coverage residue on a shared outline
AntialiasCoverage48,76 → 48,790.003100ΔRGB(5,5,4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-filters-x-grid.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>filters x grid interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
61  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-filters f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.31% · raw 0.83% (8391 px) interactions-cartesian-clip-mask-x-filters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoverageextra 0.001585%ΔE 0.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and filters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (117 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr116838621,34 → 471,131704total 1.1% · largest 0.09% · max ΔE 1.0
Extra15141,53 → 141,555total 0.000646% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage343,34 → 471,1300.09ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage188,65 → 248,1140.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,63 → 44,750.06antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 65,720.05ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,49 → 370,610.04ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,1110.04ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage342,34 → 342,1300.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage471,36 → 471,1310.04ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage467,36 → 467,1280.04ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 55,720.03ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 35,720.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue354,65 → 386,670.03ΔE 0.7 ΔRGB(-7,-7,-6)fill recolour ΔRGB(-7,-7,-6) (ΔE 0.7)
ColorValue384,110 → 406,1130.03ΔE 0.6 ΔRGB(4,3,2)fill recolour ΔRGB(+4,+3,+2) (ΔE 0.6)
AntialiasCoverage100,114 → 133,1140.03ΔE 0.4 ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
ColorValue190,113 → 245,1130.02ΔRGB(-1,0,0)fill recolour ΔRGB(-1,+0,+0) (ΔE 0)
AntialiasCoverage387,50 → 392,580.02antialiasing coverage residue on a shared outline
ColorValue352,83 → 354,1070.02fill colour differs (ΔE 0)
AntialiasCoverage211,75 → 216,840.02ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
ColorValue21,50 → 60,500.02ΔRGB(0,0,1)fill recolour ΔRGB(+0,+0,+1) (ΔE 0)
AntialiasCoverage139,53 → 139,730.02ΔE 0.8 ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage408,69 → 410,860.01ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,46 → 383,560.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage27,61 → 31,680.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 53,700.01ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,49 → 372,610.01ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,75 → 380,830.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,61 → 53,650.01ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 364,850.01ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 366,830.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage385,45 → 385,580.01ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage355,47 → 359,530.009688ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage195,76 → 199,870.009688ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
ColorValue374,46 → 374,580.009559ΔRGB(5,5,3)fill recolour ΔRGB(+5,+5,+3) (ΔE 0)
AntialiasCoverage207,75 → 207,870.009559ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
ColorValue371,75 → 371,870.009559ΔRGB(10,10,5)fill recolour ΔRGB(+10,+10,+5) (ΔE 0)
AntialiasCoverage387,45 → 392,510.009430ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 356,580.009430ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage390,51 → 393,580.008267ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,830.008138ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage358,46 → 361,540.008009ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 378,850.007105ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,52 → 381,560.006846ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
ColorValue353,73 → 354,830.006846ΔE 0.5fill colour differs (ΔE 0.5)
AntialiasCoverage211,81 → 214,850.006846ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 368,840.006200ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 206,870.006200ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 381,510.006071ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,76 → 378,800.005813ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage201,75 → 203,800.004909ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,84 → 380,870.004521ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
ColorValue407,89 → 408,940.004521ΔE 1.0 ΔRGB(2,2,0)fill recolour ΔRGB(+2,+2,+0) (ΔE 1.0)
AntialiasCoverage212,85 → 215,870.003746ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 376,560.003617ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,850.003617ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage372,81 → 373,850.003617ΔRGB(7,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage379,56 → 382,580.003359ΔRGB(8,7,7)antialiasing coverage residue on a shared outline
AntialiasCoverage376,47 → 376,510.003100ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 209,800.003100ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage372,76 → 373,800.003100ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 198,870.003100ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,84 → 368,870.003100ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 355,580.002971ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 363,580.002971ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 213,780.002971ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-filters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x filters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-filters {filter:grayscale(.18) contrast(1.08) drop-shadow(2px 1px 0 #90a4ae);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-filters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-filters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.43% · raw 0.43% (1628 px) interactions-cartesian-backgrounds-borders-x-paged-media · same-element-and-bidirectional-nesting · 4 pagesPASS via CSS-scale observation: sub-CSS shared-outline coverageExtraextra 0.5%ΔE 10.7
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw candidate adds paint absent from reference (0.5%)
Cartesian family interaction for backgrounds-borders and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (89 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr8765815,34 → 141,200486total 0.2% · largest 0.2%
Extra297015,44 → 141,200486total 0.3% · largest 0.2%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
Extra141,44 → 141,2000.2candidate adds paint absent from reference (0.2%)
AntialiasCoverage139,44 → 139,2000.2ΔRGB(59,56,51)antialiasing coverage residue on a shared outline
Extra15,45 → 15,2000.2candidate adds paint absent from reference (0.2%)
AntialiasCoverage136,36 → 138,380.004271ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage24,34 → 27,340.002957ΔRGB(-6,-3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage129,34 → 131,340.002628ΔRGB(-6,-3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage19,36 → 20,360.001971ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage16,40 → 16,420.001971ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage15,43 → 15,440.001643ΔRGB(-4,-3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage132,34 → 132,340.001314ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage135,36 → 136,360.001314ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage17,38 → 17,390.001314ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage16,39 → 17,400.001314ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage139,40 → 140,400.001314ΔRGB(-3,-2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage140,42 → 140,430.001314ΔRGB(-4,-3,0)antialiasing coverage residue on a shared outline
AntialiasCoverage23,34 → 24,340.000986ΔRGB(-5,-3,0)antialiasing coverage residue on a shared outline
AntialiasCoverage22,35 → 23,350.000986ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage133,35 → 133,350.000986ΔRGB(-5,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage18,37 → 19,370.000986ΔRGB(-6,-3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage140,41 → 140,410.000986ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage15,42 → 15,430.000986ΔRGB(-5,-3,0)antialiasing coverage residue on a shared outline
AntialiasCoverage22,35 → 22,350.000657ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage129,35 → 130,350.000657ΔRGB(26,24,23)antialiasing coverage residue on a shared outline
AntialiasCoverage134,35 → 134,350.000657ΔRGB(-2,-1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage21,35 → 21,350.000657ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage134,35 → 135,350.000657ΔRGB(-2,-1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage20,36 → 21,360.000657ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage21,36 → 21,360.000657ΔRGB(15,14,13)antialiasing coverage residue on a shared outline
AntialiasCoverage138,39 → 138,390.000657ΔRGB(15,14,13)antialiasing coverage residue on a shared outline
AntialiasCoverage139,39 → 139,390.000657ΔRGB(6,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage135,39 → 135,390.000657ΔRGB(15,14,13)antialiasing coverage residue on a shared outline
AntialiasCoverage139,41 → 139,410.000657ΔRGB(28,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage17,41 → 17,410.000657ΔRGB(14,13,11)antialiasing coverage residue on a shared outline
AntialiasCoverage140,42 → 140,420.000657ΔRGB(-6,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage140,43 → 140,440.000657ΔRGB(14,13,12)antialiasing coverage residue on a shared outline
AntialiasCoverage141,44 → 141,440.000657ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,35 → 25,350.000329ΔRGB(-15,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage26,35 → 26,350.000329ΔRGB(36,34,31)antialiasing coverage residue on a shared outline
AntialiasCoverage130,35 → 130,350.000329ΔRGB(-14,-13,-11)antialiasing coverage residue on a shared outline
AntialiasCoverage24,35 → 24,350.000329ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage25,35 → 25,350.000329ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage131,35 → 131,350.000329ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage132,35 → 132,350.000329ΔRGB(-14,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage23,36 → 23,360.000329ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage133,36 → 133,360.000329ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage134,36 → 134,360.000329ΔRGB(14,13,11)antialiasing coverage residue on a shared outline
AntialiasCoverage136,36 → 136,360.000329ΔRGB(-6,-4,1)antialiasing coverage residue on a shared outline
AntialiasCoverage134,36 → 134,360.000329ΔRGB(9,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage19,37 → 19,370.000329ΔRGB(-6,-4,1)antialiasing coverage residue on a shared outline
AntialiasCoverage20,37 → 20,370.000329ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage135,37 → 135,370.000329ΔRGB(12,12,10)antialiasing coverage residue on a shared outline
AntialiasCoverage20,37 → 20,370.000329ΔRGB(14,13,12)antialiasing coverage residue on a shared outline
AntialiasCoverage135,37 → 135,370.000329ΔRGB(9,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage20,37 → 20,370.000329ΔRGB(10,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage136,37 → 136,370.000329ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage18,38 → 18,380.000329ΔRGB(-7,-4,1)antialiasing coverage residue on a shared outline
ColorValue19,38 → 19,380.000329ΔRGB(4,3,3)fill recolour ΔRGB(+4,+3,+3) (ΔE 0)
ColorValue137,38 → 137,380.000329ΔRGB(14,14,13)fill recolour ΔRGB(+14,+14,+13) (ΔE 0)
AntialiasCoverage18,38 → 18,380.000329ΔRGB(-6,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage19,38 → 19,380.000329ΔRGB(11,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage137,38 → 137,380.000329ΔRGB(17,16,14)antialiasing coverage residue on a shared outline
AntialiasCoverage19,39 → 19,390.000329ΔRGB(10,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage20,39 → 20,390.000329ΔRGB(10,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage136,39 → 136,390.000329ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-backgrounds-borders f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.37% · raw 0.43% (4379 px) interactions-cartesian-fonts-advanced-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.05%extra 0.03%ΔE 1.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (374 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr251411624,46 → 395,93281total 0.5% · largest 0.04% · max ΔE 4.2
Missing8016935,61 → 382,9328total 0.02% · largest 0.003617%
Extra439433,61 → 395,8732total 0.01% · largest 0.004134%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,76 → 67,780.04ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.6 ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.01ΔE 1.1 ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.009946ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage63,61 → 68,730.009688ΔE 1.1 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage43,64 → 48,750.006588ΔE 1.3 ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage62,67 → 67,720.006071ΔRGB(6,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage215,79 → 219,830.005555ΔE 1.6 ΔRGB(15,14,13)antialiasing coverage residue on a shared outline
AntialiasCoverage39,64 → 44,700.005425ΔE 0.9 ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage201,77 → 204,820.005296ΔE 1.3 ΔRGB(-6,-3,0)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.005167ΔRGB(114,101,87)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.005167ΔRGB(114,101,87)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(58,51,44)antialiasing coverage residue on a shared outline
ColorValue367,76 → 368,820.005038ΔRGB(-76,-70,-63)fill recolour ΔRGB(-76,-70,-63) (ΔE 0)
AntialiasCoverage50,61 → 56,650.004909ΔRGB(-23,-21,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.004909ΔRGB(-9,-8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage370,78 → 371,870.004263ΔE 1.8 ΔRGB(-6,-3,0)antialiasing coverage residue on a shared outline
Extra370,76 → 370,860.004134candidate adds paint absent from reference (0.004134%)
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage54,63 → 57,680.004134ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage41,71 → 44,750.003875ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.003875ΔRGB(-37,-34,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage51,69 → 56,710.003746ΔRGB(41,38,35)antialiasing coverage residue on a shared outline
Missing35,63 → 35,710.003617candidate lacks paint present in reference (0.003617%)
Missing370,78 → 370,860.003617candidate lacks paint present in reference (0.003617%)
AntialiasCoverage206,76 → 206,840.003488ΔE 1.8 ΔRGB(-6,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage51,67 → 54,700.003359ΔRGB(-65,-57,-50)antialiasing coverage residue on a shared outline
AntialiasCoverage54,60 → 58,630.003229ΔRGB(30,28,26)antialiasing coverage residue on a shared outline
AntialiasCoverage51,61 → 55,630.002842ΔRGB(17,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002842ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage215,75 → 219,780.002842ΔRGB(23,22,19)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,730.002583ΔE 1.7 ΔRGB(-5,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002325ΔRGB(-71,-67,-61)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002196ΔRGB(-84,-79,-72)antialiasing coverage residue on a shared outline
AntialiasCoverage197,84 → 200,870.002196ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage48,67 → 49,700.001938ΔRGB(92,86,78)antialiasing coverage residue on a shared outline
AntialiasCoverage200,80 → 201,820.001808ΔRGB(32,29,25)antialiasing coverage residue on a shared outline
AntialiasCoverage364,80 → 365,820.001808ΔRGB(58,54,48)antialiasing coverage residue on a shared outline
AntialiasCoverage212,76 → 216,760.001679ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage213,86 → 216,870.001679ΔE 0.6 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage61,62 → 62,640.001550ΔRGB(25,23,21)antialiasing coverage residue on a shared outline
AntialiasCoverage39,65 → 41,670.001550ΔRGB(3,2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.34% · raw 0.38% (3833 px) interactions-cartesian-fonts-advanced-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (125 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr125383326,46 → 382,86262total 0.5% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage51,63 → 62,750.03ΔRGB(13,13,11)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 72,710.02ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage89,60 → 98,720.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,75 → 249,860.01ΔRGB(40,38,35)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage90,64 → 96,700.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage52,63 → 60,710.01ΔRGB(-34,-32,-29)antialiasing coverage residue on a shared outline
AntialiasCoverage28,60 → 33,700.01ΔRGB(-3,-37,-39)antialiasing coverage residue on a shared outline
AntialiasCoverage39,60 → 48,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage237,75 → 242,860.01ΔRGB(-93,-87,-80)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage44,61 → 48,670.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage88,60 → 92,710.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage225,75 → 233,850.009559ΔRGB(2,23,24)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage81,60 → 88,710.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 247,800.009430ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 50,710.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage30,60 → 34,700.008526ΔRGB(6,71,75)antialiasing coverage residue on a shared outline
AntialiasCoverage222,76 → 231,860.008396ΔRGB(-2,-23,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage81,61 → 86,650.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage77,60 → 81,710.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage201,75 → 205,850.006200ΔRGB(3,38,40)antialiasing coverage residue on a shared outline
AntialiasCoverage200,76 → 203,850.005813ΔRGB(-3,-36,-37)antialiasing coverage residue on a shared outline
AntialiasCoverage242,81 → 246,850.005167ΔRGB(-22,-23,-23)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage226,75 → 229,770.004263ΔRGB(-1,-7,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage82,66 → 85,700.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage240,81 → 242,850.003875ΔRGB(93,87,79)antialiasing coverage residue on a shared outline
AntialiasCoverage200,75 → 204,770.002971ΔRGB(-1,-10,-11)antialiasing coverage residue on a shared outline
AntialiasCoverage219,77 → 219,820.002842ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage41,68 → 43,710.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage79,66 → 81,700.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage48,68 → 48,710.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage221,82 → 221,860.002067ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage221,75 → 221,790.001938ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,69 → 36,710.001808ΔRGB(-4,-55,-58)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 38,710.001808ΔRGB(5,65,68)antialiasing coverage residue on a shared outline
AntialiasCoverage74,69 → 75,710.001679ΔRGB(4,45,47)antialiasing coverage residue on a shared outline
AntialiasCoverage72,69 → 73,710.001550ΔRGB(-2,-24,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage215,80 → 216,820.001421ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage26,70 → 26,710.001292ΔRGB(-3,-46,-48)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,780.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,840.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,70 → 33,710.001163ΔRGB(4,51,53)antialiasing coverage residue on a shared outline
AntialiasCoverage219,84 → 219,860.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.33% · raw 0.37% (3724 px) interactions-cartesian-fonts-advanced-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (149 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr149372424,46 → 395,86230total 0.5% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage51,60 → 58,710.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 56,650.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage62,63 → 67,720.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 54,700.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 50,700.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,640.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage387,57 → 389,580.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,720.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage364,60 → 366,610.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage372,49 → 373,500.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-fonts-advanced f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.34% · raw 0.36% (3668 px) interactions-cartesian-fonts-advanced-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 20.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (77 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr77366824,46 → 387,89396total 0.5% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage51,62 → 61,740.05ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 52,740.03ΔRGB(-9,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage204,77 → 215,890.03ΔRGB(-14,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage33,61 → 38,690.02ΔRGB(-18,-17,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage43,68 → 49,730.01ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,83 → 212,880.01ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 50,670.01ΔRGB(9,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage359,76 → 368,870.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage208,78 → 214,820.01ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage364,77 → 368,830.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage369,76 → 370,870.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage24,59 → 30,680.007880ΔRGB(-68,-64,-58)antialiasing coverage residue on a shared outline
AntialiasCoverage33,61 → 40,700.007750ΔRGB(39,36,33)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage27,60 → 30,650.007105ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage195,74 → 201,830.006200ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage31,59 → 32,680.005038ΔRGB(147,138,126)antialiasing coverage residue on a shared outline
AntialiasCoverage202,74 → 203,830.004521ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 201,800.004521ΔRGB(11,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,870.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,870.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage25,66 → 27,680.002067ΔRGB(61,58,53)antialiasing coverage residue on a shared outline
AntialiasCoverage37,61 → 39,620.001938ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,66 → 30,680.001808ΔRGB(-73,-69,-63)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage32,69 → 34,700.001550ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage377,77 → 380,770.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage196,81 → 198,830.001550ΔRGB(33,31,28)antialiasing coverage residue on a shared outline
AntialiasCoverage376,81 → 379,810.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage380,77 → 381,790.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,83 → 374,850.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,85 → 380,860.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,81 → 201,830.000904ΔRGB(-51,-47,-44)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage382,77 → 382,790.000775ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage219,46 → 220,460.000646ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage381,83 → 381,840.000517ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage376,78 → 376,780.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,79 → 376,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,80 → 380,800.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,82 → 375,830.000388ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage381,84 → 381,840.000388ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage378,85 → 379,850.000388ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage382,79 → 382,790.000258ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 376,800.000258ΔRGB(2,1,2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.29% · raw 0.32% (3218 px) interactions-cartesian-effects-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 13.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (135 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr135321824,36 → 408,86381total 0.4% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage51,60 → 58,710.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 56,650.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage62,63 → 67,720.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 54,700.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 50,700.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,640.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage387,57 → 389,580.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,720.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage364,60 → 366,610.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage372,49 → 373,500.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage365,52 → 365,550.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage370,58 → 371,600.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,66 → 37,680.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 43,730.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,780.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,840.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage365,56 → 366,570.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 38,710.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,850.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,50 → 372,520.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,56 → 371,570.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.28% · raw 0.31% (3099 px) interactions-cartesian-fonts-advanced-x-generated-content · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 13.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (178 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr178309924,46 → 382,127230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage51,79 → 58,910.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,94 → 219,1060.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage24,79 → 33,910.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,94 → 368,1060.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage60,83 → 66,900.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage28,81 → 33,860.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,96 → 368,1010.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage46,79 → 51,910.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage34,79 → 35,910.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,94 → 370,1060.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage50,80 → 56,840.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,94 → 204,1060.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,94 → 212,1060.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage62,82 → 67,910.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,95 → 217,990.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,79 → 62,910.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,96 → 204,1010.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,94 → 206,1060.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage51,85 → 54,890.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,100 → 215,1040.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage48,85 → 50,890.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage61,79 → 63,830.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,100 → 211,1040.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage25,88 → 28,910.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,103 → 363,1060.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage33,88 → 33,910.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,103 → 368,1060.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,103 → 199,1060.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage59,90 → 61,910.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage36,93 → 38,940.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,95 → 380,960.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,82 → 45,830.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,99 → 379,990.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,85 → 37,880.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,91 → 43,920.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,96 → 381,980.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,101 → 374,1040.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,103 → 204,1060.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage29,108 → 30,1100.001292ΔRGB(16,8,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,123 → 202,1240.001292ΔRGB(16,8,10)antialiasing coverage residue on a shared outline
AntialiasCoverage28,67 → 29,680.001163ΔRGB(-1,-19,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage200,82 → 200,830.001163ΔRGB(-1,-19,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage37,89 → 38,900.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,103 → 380,1040.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,106 → 31,1080.001033ΔRGB(-18,-8,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage201,121 → 202,1220.001033ΔRGB(-18,-8,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage31,63 → 32,630.000904ΔRGB(1,19,20)antialiasing coverage residue on a shared outline
AntialiasCoverage28,70 → 29,710.000904ΔRGB(-2,-17,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage202,78 → 203,780.000904ΔRGB(1,19,20)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-generated-content.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x generated-content interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-generated-content {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.24% · raw 0.30% (1132 px) interactions-cartesian-fonts-advanced-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 9.0
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and fonts-advanced: the fonts-advanced representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (100 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr100113218,20 → 60,60112total 0.3% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage30,23 → 38,340.03ΔRGB(-14,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage24,49 → 33,600.02ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage53,24 → 59,300.02ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage28,51 → 33,560.02ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage34,49 → 35,600.02ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage33,23 → 40,350.02ΔRGB(31,29,26)antialiasing coverage residue on a shared outline
AntialiasCoverage55,23 → 60,320.02ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage50,20 → 55,310.01ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage33,24 → 37,300.01ΔRGB(-22,-21,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage31,24 → 35,300.009867ΔRGB(33,31,28)antialiasing coverage residue on a shared outline
AntialiasCoverage28,33 → 32,350.007733ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage54,20 → 56,240.006933ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage25,22 → 26,270.005867ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage25,58 → 28,600.005600ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage33,58 → 33,600.005333ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage28,27 → 28,310.004267ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage28,20 → 28,240.004000ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage52,30 → 54,320.004000ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage45,21 → 48,210.003200ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,50 → 45,510.003200ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,25 → 47,250.002933ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage22,25 → 23,270.002933ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage41,54 → 44,540.002933ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage48,21 → 49,230.002667ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,27 → 43,290.002667ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage45,51 → 46,520.002667ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage39,56 → 39,590.002667ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage26,28 → 26,310.002400ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage48,29 → 49,300.002133ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,58 → 45,590.002133ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage25,20 → 26,210.001600ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage24,21 → 25,220.001600ΔRGB(2,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,21 → 51,230.001600ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage24,23 → 25,240.001600ΔRGB(3,2,3)antialiasing coverage residue on a shared outline
AntialiasCoverage23,24 → 24,250.001600ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage21,25 → 22,260.001600ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage20,28 → 21,290.001600ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage47,50 → 47,520.001600ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage23,22 → 24,230.001067ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage22,24 → 23,240.001067ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage20,27 → 20,270.001067ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,27 → 49,280.001067ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage46,56 → 46,570.001067ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,22 → 44,220.000800ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,23 → 44,230.000800ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,24 → 48,240.000800ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,26 → 43,270.000800ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage49,28 → 49,280.000800ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage46,29 → 47,290.000800ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage41,51 → 41,520.000800ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage41,52 → 41,520.000800ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage45,53 → 45,530.000800ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,55 → 40,560.000800ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage46,57 → 46,580.000800ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage43,58 → 44,590.000800ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage50,23 → 50,230.000533ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage56,23 → 56,230.000533ΔRGB(-22,-21,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage44,24 → 44,240.000533ΔRGB(2,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage47,24 → 48,240.000533ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage19,28 → 19,280.000533ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage47,28 → 47,290.000533ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,30 → 46,300.000533ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage20,30 → 20,300.000533ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage47,52 → 47,520.000533ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-fonts-advanced f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.28% · raw 0.29% (2980 px) interactions-cartesian-fonts-advanced-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 12.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (52 total; showing 52 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr52298015,46 → 374,86230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage27,63 → 38,750.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage50,60 → 58,720.02ΔRGB(26,24,22)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage29,64 → 35,700.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,64 → 57,700.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage367,75 → 374,860.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage42,60 → 49,710.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage48,60 → 53,710.008526ΔRGB(-66,-61,-56)antialiasing coverage residue on a shared outline
AntialiasCoverage15,60 → 24,710.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage350,75 → 359,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage362,75 → 367,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage366,76 → 372,800.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage42,61 → 47,650.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage37,60 → 42,710.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage20,62 → 24,670.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage355,77 → 359,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage26,60 → 26,710.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage361,75 → 361,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 371,850.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage42,66 → 46,700.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage364,81 → 366,850.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage40,66 → 41,700.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage17,68 → 19,710.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage352,84 → 354,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage24,68 → 24,710.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage359,84 → 359,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage219,46 → 220,460.000646ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 47,600.000646ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.27% · raw 0.29% (2972 px) interactions-cartesian-fonts-advanced-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (81 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr81297224,46 → 440,86230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage433,53 → 440,650.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage51,60 → 58,710.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(20,19,18)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage416,53 → 425,650.009817ΔRGB(-49,-46,-42)antialiasing coverage residue on a shared outline
AntialiasCoverage421,55 → 426,600.009559ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage428,53 → 433,650.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage433,54 → 438,580.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 56,650.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage62,63 → 67,720.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage427,53 → 427,650.006975ΔRGB(78,73,67)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage433,59 → 437,630.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 54,700.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage431,59 → 432,630.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 50,700.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,640.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage425,62 → 426,650.002583ΔRGB(-44,-42,-38)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage418,62 → 420,650.002454ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,720.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,66 → 37,680.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 43,730.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 38,710.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage43,64 → 44,650.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,70 → 43,710.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,66 → 44,680.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,68 → 38,690.000775ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,73 → 38,740.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage219,46 → 220,460.000646ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage43,68 → 43,680.000517ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,71 → 44,710.000517ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage41,63 → 41,630.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.27% · raw 0.29% (2958 px) interactions-cartesian-fonts-advanced-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 18.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (110 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr110295824,43 → 408,96230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage51,69 → 58,810.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage24,69 → 33,810.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage60,73 → 66,800.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage28,71 → 33,760.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage231,72 → 231,960.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage46,69 → 51,810.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage34,69 → 35,810.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage50,70 → 56,740.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,84 → 204,950.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,84 → 212,950.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage211,85 → 217,890.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,69 → 62,810.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,86 → 204,910.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,84 → 206,950.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage51,75 → 54,790.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,90 → 215,940.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage212,92 → 217,950.003875ΔRGB(34,31,29)antialiasing coverage residue on a shared outline
AntialiasCoverage48,75 → 50,790.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage61,69 → 63,730.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,90 → 211,940.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage25,78 → 28,810.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage62,78 → 66,810.002713ΔRGB(18,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage33,78 → 33,810.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,92 → 199,950.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage59,80 → 61,810.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage215,89 → 217,910.001679ΔRGB(39,37,33)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,83 → 38,840.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,72 → 45,730.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,76 → 37,780.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,780.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,81 → 43,830.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,840.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,92 → 204,950.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,79 → 38,800.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage63,72 → 66,720.001033ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,850.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,73 → 44,750.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,79 → 43,800.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,76 → 44,770.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,76 → 382,780.000775ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.26% · raw 0.29% (2951 px) interactions-cartesian-flexbox-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (111 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr111295157,46 → 395,92262total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage68,77 → 79,890.03ΔRGB(13,13,11)antialiasing coverage residue on a shared outline
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage260,68 → 268,790.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage69,77 → 78,850.01ΔRGB(-34,-32,-29)antialiasing coverage residue on a shared outline
AntialiasCoverage84,74 → 91,850.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage387,81 → 394,920.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage244,68 → 253,790.009817ΔRGB(-49,-46,-42)antialiasing coverage residue on a shared outline
AntialiasCoverage57,74 → 66,850.009817ΔRGB(-49,-46,-42)antialiasing coverage residue on a shared outline
AntialiasCoverage249,69 → 253,750.009559ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage61,76 → 66,810.009559ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage256,68 → 260,790.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage260,69 → 266,730.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,81 → 379,920.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage79,74 → 84,850.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage382,81 → 387,920.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage83,75 → 89,790.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage386,82 → 392,860.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage254,68 → 255,790.006975ΔRGB(78,73,67)antialiasing coverage residue on a shared outline
AntialiasCoverage67,74 → 68,850.006975ΔRGB(78,73,67)antialiasing coverage residue on a shared outline
AntialiasCoverage375,83 → 379,880.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage380,81 → 381,920.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage261,74 → 264,780.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage84,80 → 87,840.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage387,87 → 390,910.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage258,74 → 260,780.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage81,80 → 83,840.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage384,87 → 386,910.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage98,80 → 100,840.002713ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage253,76 → 253,790.002583ΔRGB(-44,-42,-38)antialiasing coverage residue on a shared outline
AntialiasCoverage66,83 → 66,850.002583ΔRGB(-44,-42,-38)antialiasing coverage residue on a shared outline
AntialiasCoverage245,76 → 248,790.002454ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage58,83 → 60,850.002454ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage94,76 → 96,780.002196ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,90 → 374,920.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage387,57 → 389,580.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage92,84 → 94,860.001808ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage364,60 → 366,610.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,49 → 373,500.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,52 → 365,550.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage370,58 → 371,600.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage93,75 → 94,770.001292ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage92,78 → 93,810.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage93,81 → 93,830.001292ΔRGB(1,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,90 → 379,920.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage365,56 → 366,570.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage100,78 → 100,800.001033ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage94,79 → 95,800.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,50 → 372,520.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,56 → 371,570.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage96,83 → 97,840.000904ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,52 → 372,540.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.25% · raw 0.28% (2807 px) interactions-cartesian-fonts-advanced-x-grid · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 12.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (105 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr105280724,46 → 433,92230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 58,850.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 219,920.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage24,74 → 33,850.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage60,78 → 66,840.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage28,76 → 33,810.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage426,68 → 433,790.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage46,74 → 51,850.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage34,74 → 35,850.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage50,75 → 56,790.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,81 → 204,920.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,81 → 212,920.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage62,77 → 67,860.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,82 → 217,860.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,74 → 62,850.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage425,69 → 431,730.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage421,68 → 426,790.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,83 → 204,880.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,81 → 206,920.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage51,80 → 54,840.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,87 → 215,910.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage426,74 → 429,780.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage48,80 → 50,840.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage61,74 → 63,780.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,87 → 211,910.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage417,70 → 418,750.002842ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage25,83 → 28,850.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage423,74 → 425,780.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage33,83 → 33,850.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,90 → 199,920.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage420,75 → 420,790.002067ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage420,68 → 420,720.001938ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage59,84 → 61,860.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage36,88 → 38,890.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage414,73 → 415,750.001421ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,77 → 45,780.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,80 → 37,830.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,86 → 43,870.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,90 → 204,920.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage418,76 → 418,790.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage37,84 → 38,850.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage43,78 → 44,790.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,84 → 43,850.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage417,68 → 418,690.000775ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage416,69 → 417,700.000775ΔRGB(2,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage416,71 → 417,720.000775ΔRGB(3,2,3)antialiasing coverage residue on a shared outline
AntialiasCoverage415,72 → 416,730.000775ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage413,73 → 414,740.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage412,76 → 413,770.000775ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,80 → 44,820.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-grid.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x grid interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.25% · raw 0.28% (2801 px) interactions-cartesian-fonts-advanced-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (104 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr104280124,46 → 382,106230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage51,65 → 58,760.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage24,65 → 33,760.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,94 → 368,1060.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage60,69 → 66,760.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage28,67 → 33,720.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,96 → 368,1010.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage46,65 → 51,760.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage34,65 → 35,760.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,94 → 370,1060.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage50,66 → 56,700.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage62,68 → 67,770.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,65 → 62,760.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage51,71 → 54,750.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage48,71 → 50,750.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage61,65 → 63,690.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage25,74 → 28,760.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,103 → 363,1060.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage33,74 → 33,760.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,103 → 368,1060.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage59,76 → 61,770.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage36,79 → 38,800.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,95 → 380,960.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,68 → 45,690.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,99 → 379,990.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,71 → 37,740.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,77 → 43,780.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage380,96 → 381,980.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,101 → 374,1040.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,75 → 38,760.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,103 → 380,1040.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,69 → 44,700.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,75 → 43,760.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,71 → 44,730.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,73 → 38,750.000775ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,78 → 38,790.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,95 → 382,970.000775ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage219,46 → 220,460.000646ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage43,73 → 43,740.000517ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,76 → 44,760.000517ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.25% · raw 0.28% (2801 px) interactions-cartesian-fonts-advanced-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (104 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr104280124,46 → 382,86230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage51,60 → 58,710.01ΔRGB(9,53,52)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(7,41,41)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.01ΔRGB(1,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.009430ΔRGB(-14,-83,-82)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 56,650.008655ΔRGB(-1,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-11,-71,-70)antialiasing coverage residue on a shared outline
AntialiasCoverage62,63 → 67,720.007880ΔRGB(4,22,21)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-1,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.007234ΔRGB(-8,-46,-45)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 54,700.004521ΔRGB(-10,-60,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-5,-32,-31)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 50,700.003488ΔRGB(13,79,78)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,640.003359ΔRGB(5,30,29)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(13,75,74)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,720.001938ΔRGB(-1,-5,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,66 → 37,680.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 43,730.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,780.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,840.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 38,710.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,850.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,64 → 44,650.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,70 → 43,710.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,66 → 44,680.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,68 → 38,690.000775ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,73 → 38,740.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,76 → 382,780.000775ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage219,46 → 220,460.000646ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage43,68 → 43,680.000517ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,71 → 44,710.000517ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.23% · raw 0.28% (2799 px) interactions-cartesian-color-opacity-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 12.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (148 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr148279924,46 → 395,86156total 0.4% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage359,75 → 370,860.02ΔRGB(-3,-4,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage51,60 → 58,710.01ΔRGB(25,39,17)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(29,28,25)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-29,-47,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.01ΔRGB(2,3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.01ΔRGB(3,5,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.009430ΔRGB(-39,-62,-28)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.008784ΔRGB(42,67,31)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 56,650.008655ΔRGB(-1,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-50,-47,-42)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage62,63 → 67,720.007880ΔRGB(10,16,8)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 368,860.007363ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.007234ΔRGB(-21,-34,-15)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(9,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(39,37,34)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 54,700.004521ΔRGB(-28,-44,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-22,-21,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 50,700.003488ΔRGB(37,58,27)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,640.003359ΔRGB(14,22,10)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(52,50,45)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002713ΔRGB(32,51,24)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002583ΔRGB(-35,-56,-26)antialiasing coverage residue on a shared outline
AntialiasCoverage379,76 → 381,790.002196ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(22,21,18)antialiasing coverage residue on a shared outline
AntialiasCoverage376,76 → 380,770.002067ΔRGB(2,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 379,820.002067ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage387,57 → 389,580.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,720.001938ΔRGB(-2,-4,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,81 → 375,840.001808ΔRGB(1,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,79 → 379,800.001679ΔRGB(-1,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,60 → 366,610.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.001550ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 380,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,49 → 373,500.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.001421ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,52 → 365,550.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage370,58 → 371,600.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,66 → 37,680.001292ΔRGB(-1,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-38,-36,-32)antialiasing coverage residue on a shared outline
AntialiasCoverage376,86 → 378,860.001292ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,56 → 366,570.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,81 → 381,830.001033antialiasing coverage residue on a shared outline
AntialiasCoverage380,83 → 381,840.001033ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,50 → 372,520.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,56 → 371,570.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 37,710.000904ΔRGB(1,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,70 → 43,710.000904ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.24% · raw 0.27% (2776 px) interactions-cartesian-fonts-advanced-x-tables · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 11.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (124 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr124277630,46 → 386,92262total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage41,69 → 52,810.03ΔRGB(13,13,11)antialiasing coverage residue on a shared outline
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage43,69 → 51,770.01ΔRGB(-34,-32,-29)antialiasing coverage residue on a shared outline
AntialiasCoverage220,81 → 228,920.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage69,70 → 75,760.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage30,66 → 39,770.009817ΔRGB(-49,-46,-42)antialiasing coverage residue on a shared outline
AntialiasCoverage35,68 → 39,730.009559ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage379,78 → 386,900.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage216,81 → 220,920.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage71,69 → 76,780.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage220,82 → 226,860.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage66,66 → 71,770.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage378,79 → 384,830.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage40,66 → 41,770.006975ΔRGB(78,73,67)antialiasing coverage residue on a shared outline
AntialiasCoverage374,78 → 379,900.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage221,87 → 224,910.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage379,84 → 382,880.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage70,66 → 72,700.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage218,87 → 220,910.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage370,80 → 371,850.002842ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage209,83 → 210,880.002842ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage39,75 → 39,770.002583ΔRGB(-44,-42,-38)antialiasing coverage residue on a shared outline
AntialiasCoverage376,84 → 378,880.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage31,75 → 34,770.002454ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage372,85 → 372,900.002067ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,88 → 212,920.002067ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage68,76 → 70,780.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage372,78 → 372,830.001938ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 212,850.001938ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage61,67 → 64,680.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage60,71 → 63,710.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage367,84 → 368,850.001421ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,86 → 207,880.001421ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage64,68 → 65,690.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage58,73 → 59,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,87 → 371,890.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage210,90 → 210,920.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage64,75 → 65,760.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage67,67 → 67,690.000775ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,78 → 371,790.000775ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage369,79 → 370,800.000775ΔRGB(2,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 210,820.000775ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage369,81 → 370,820.000775ΔRGB(3,2,3)antialiasing coverage residue on a shared outline
AntialiasCoverage208,82 → 209,830.000775ΔRGB(2,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 369,830.000775ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage366,83 → 367,840.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage208,84 → 209,850.000775ΔRGB(3,2,3)antialiasing coverage residue on a shared outline
AntialiasCoverage207,85 → 208,860.000775ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage205,86 → 206,870.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,87 → 366,880.000775ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.23% · raw 0.27% (2728 px) interactions-cartesian-fonts-advanced-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 13.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (132 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr132272824,46 → 382,106230total 0.4% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage119,94 → 126,1060.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage235,91 → 242,1020.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage115,94 → 119,1060.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage119,95 → 125,990.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage230,91 → 235,1020.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage234,92 → 240,960.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage120,100 → 123,1040.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage235,97 → 238,1010.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage117,100 → 119,1040.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage232,97 → 234,1010.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage133,100 → 136,1050.002713ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage130,96 → 132,980.002196ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage128,105 → 130,1060.001808ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage37,66 → 37,680.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 43,730.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,780.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,840.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage129,95 → 130,970.001292ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage128,99 → 129,1010.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage129,101 → 129,1030.001292ΔRGB(1,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 38,710.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,850.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage136,98 → 136,1000.001033ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage130,99 → 131,1000.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,64 → 44,650.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,70 → 43,710.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage132,103 → 133,1040.000904ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,66 → 44,680.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,68 → 38,690.000775ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,73 → 38,740.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.23% · raw 0.26% (2670 px) interactions-cartesian-clip-mask-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (135 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr135267024,46 → 395,12296total 0.3% · largest 0.01% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage51,60 → 58,710.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 219,860.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 56,650.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage195,75 → 204,860.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 212,860.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage62,63 → 67,720.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,76 → 217,800.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage200,77 → 204,820.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage205,75 → 206,860.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 54,700.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 215,850.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 50,700.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,640.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage196,84 → 199,860.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage387,57 → 389,580.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,720.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage364,60 → 366,610.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage372,49 → 373,500.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage365,52 → 365,550.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage370,58 → 371,600.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,66 → 37,680.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 43,730.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,780.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,840.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,860.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage365,56 → 366,570.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 38,710.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,850.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,50 → 372,520.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,56 → 371,570.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,64 → 44,650.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,70 → 43,710.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.23% · raw 0.26% (2668 px) interactions-cartesian-block-box-model-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (133 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr133266824,46 → 395,9196total 0.3% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage51,64 → 58,760.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage212,79 → 219,910.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage24,64 → 33,760.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage359,75 → 368,860.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage60,68 → 66,750.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage28,66 → 33,710.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 368,820.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage46,64 → 51,760.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage34,64 → 35,760.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 370,860.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage50,65 → 56,690.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage195,79 → 204,910.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage207,79 → 212,910.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage62,67 → 67,760.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage211,80 → 217,840.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage57,64 → 62,760.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage200,81 → 204,860.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage205,79 → 206,910.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage51,70 → 54,740.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage212,85 → 215,890.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage48,70 → 50,740.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage61,64 → 63,680.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage209,85 → 211,890.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage25,73 → 28,760.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 363,860.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage33,73 → 33,760.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,860.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage196,88 → 199,910.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage387,57 → 389,580.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage59,75 → 61,760.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage364,60 → 366,610.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 380,760.001550ΔRGB(4,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,78 → 38,790.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,49 → 373,500.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,67 → 45,680.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 379,800.001421ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage365,52 → 365,550.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage370,58 → 371,600.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,70 → 37,730.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,76 → 43,770.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,780.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 374,840.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,88 → 204,910.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage365,56 → 366,570.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage37,74 → 38,750.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,850.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,50 → 372,520.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,56 → 371,570.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,68 → 44,690.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,74 → 43,750.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.21% · raw 0.25% (2519 px) interactions-cartesian-inline-text-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoveragemissing 0.05%extra 0.05%ΔE 2.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (245 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr122217925,48 → 395,95268total 0.3% · largest 0.03% · max ΔE 3.9
Extra5215842,62 → 395,9017total 0.02% · largest 0.002196%
Missing7118240,63 → 379,9516total 0.02% · largest 0.002067%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,79 → 61,800.03ΔE 2.1 ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,92 → 218,940.02ΔE 1.8 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage360,93 → 379,950.02ΔE 1.9 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 48,650.007234ΔRGB(-95,-89,-81)antialiasing coverage residue on a shared outline
AntialiasCoverage368,77 → 376,800.007234ΔRGB(-95,-89,-81)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.007105ΔRGB(-26,-24,-23)antialiasing coverage residue on a shared outline
AntialiasCoverage370,78 → 374,820.007105ΔRGB(-26,-24,-23)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.006200ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage370,84 → 375,880.006200ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage53,67 → 58,730.006071ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,680.005684ΔRGB(-76,-73,-69)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 54,710.003100ΔRGB(27,25,21)antialiasing coverage residue on a shared outline
AntialiasCoverage60,68 → 60,730.002454ΔE 1.2 ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
Extra42,75 → 47,750.002196candidate adds paint absent from reference (0.002196%)
Extra369,90 → 374,900.002196candidate adds paint absent from reference (0.002196%)
AntialiasCoverage59,68 → 60,720.002196ΔRGB(9,4,2)antialiasing coverage residue on a shared outline
AntialiasCoverage48,68 → 49,720.002196ΔRGB(-30,-27,-23)antialiasing coverage residue on a shared outline
AntialiasCoverage375,84 → 377,870.002196ΔRGB(-30,-27,-23)antialiasing coverage residue on a shared outline
Missing42,74 → 46,740.002067candidate lacks paint present in reference (0.002067%)
Missing369,89 → 374,890.002067candidate lacks paint present in reference (0.002067%)
AntialiasCoverage53,74 → 56,750.001938ΔRGB(84,74,64)antialiasing coverage residue on a shared outline
AntialiasCoverage54,68 → 54,720.001808ΔE 0.8 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage46,66 → 48,680.001679ΔRGB(44,42,38)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 45,680.001679ΔRGB(93,82,71)antialiasing coverage residue on a shared outline
AntialiasCoverage374,81 → 376,830.001679ΔRGB(44,42,38)antialiasing coverage residue on a shared outline
AntialiasCoverage370,83 → 373,840.001679ΔRGB(93,82,71)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage43,69 → 46,690.001550ΔE 3.9 ΔRGB(-14,-5,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,84 → 374,840.001550ΔE 3.9 ΔRGB(-14,-5,0)antialiasing coverage residue on a shared outline
Missing42,68 → 45,680.001421candidate lacks paint present in reference (0.001421%)
Missing370,84 → 373,840.001421candidate lacks paint present in reference (0.001421%)
AntialiasCoverage43,64 → 46,650.001421ΔE 3.8 ΔRGB(-14,-6,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,79 → 373,800.001421ΔE 3.8 ΔRGB(-14,-6,0)antialiasing coverage residue on a shared outline
Missing42,64 → 45,640.001292candidate lacks paint present in reference (0.001292%)
Missing370,79 → 373,790.001292candidate lacks paint present in reference (0.001292%)
Extra43,69 → 46,690.001292candidate adds paint absent from reference (0.001292%)
Extra371,84 → 374,840.001292candidate adds paint absent from reference (0.001292%)
AntialiasCoverage49,70 → 50,730.001292ΔE 1.2 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage47,72 → 48,730.001292ΔRGB(108,96,83)antialiasing coverage residue on a shared outline
AntialiasCoverage57,72 → 58,740.001292ΔRGB(93,84,74)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 377,880.001292ΔE 1.2 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage374,87 → 376,880.001292ΔRGB(108,96,83)antialiasing coverage residue on a shared outline
Extra43,64 → 46,640.001163candidate adds paint absent from reference (0.001163%)
Extra55,75 → 58,750.001163candidate adds paint absent from reference (0.001163%)
Extra371,79 → 373,790.001163candidate adds paint absent from reference (0.001163%)
AntialiasCoverage49,65 → 49,670.001163ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 377,820.001163ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
Missing60,78 → 61,800.001033candidate lacks paint present in reference (0.001033%)
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Missing54,74 → 56,740.000904candidate lacks paint present in reference (0.000904%)
AntialiasCoverage55,75 → 57,750.000904ΔE 3.2 ΔRGB(-12,-5,0)antialiasing coverage residue on a shared outline
Extra55,67 → 57,670.000775candidate adds paint absent from reference (0.000775%)
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage53,73 → 53,730.000775ΔRGB(91,81,70)antialiasing coverage residue on a shared outline
AntialiasCoverage45,74 → 46,740.000775ΔRGB(65,57,50)antialiasing coverage residue on a shared outline
AntialiasCoverage61,78 → 61,800.000775ΔE 0.4 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,89 → 374,890.000775ΔRGB(65,57,50)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.21% · raw 0.25% (2515 px) interactions-cartesian-backgrounds-borders-x-fonts-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 11.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and fonts-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (160 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr160251517,46 → 395,110112total 0.3% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage38,64 → 46,750.01ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage379,46 → 386,580.01ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage212,76 → 220,870.01ΔRGB(38,36,32)antialiasing coverage residue on a shared outline
AntialiasCoverage352,46 → 361,580.01ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage360,76 → 369,870.01ΔRGB(-55,-52,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage388,50 → 394,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage61,65 → 67,720.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage356,48 → 361,530.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage364,77 → 369,830.01ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage374,46 → 379,580.009430ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage362,46 → 363,580.008784ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage370,76 → 371,870.008784ΔRGB(79,75,71)antialiasing coverage residue on a shared outline
AntialiasCoverage378,47 → 384,510.008655ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage196,76 → 204,870.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage41,64 → 48,760.008267ΔRGB(29,28,26)antialiasing coverage residue on a shared outline
AntialiasCoverage208,76 → 212,870.008267ΔRGB(-65,-61,-55)antialiasing coverage residue on a shared outline
AntialiasCoverage390,49 → 395,580.007880ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage63,64 → 68,730.007880ΔRGB(19,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage212,77 → 218,810.007880ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage385,46 → 390,580.007234ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage58,61 → 63,730.007234ΔRGB(-39,-38,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage201,78 → 205,830.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage41,65 → 45,720.005684ΔRGB(-21,-20,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage206,76 → 207,870.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage39,65 → 43,720.004779ΔRGB(31,30,28)antialiasing coverage residue on a shared outline
AntialiasCoverage379,52 → 382,560.004521ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage213,82 → 216,860.004392ΔRGB(-29,-27,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 40,760.003746ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage376,52 → 378,560.003488ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage389,46 → 391,500.003359ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage62,61 → 64,650.003359ΔRGB(26,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage210,82 → 212,860.003100ΔRGB(69,65,59)antialiasing coverage residue on a shared outline
AntialiasCoverage33,63 → 34,680.002842ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage353,55 → 356,580.002713ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 364,870.002713ΔRGB(60,57,54)antialiasing coverage residue on a shared outline
AntialiasCoverage361,55 → 361,580.002583ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,870.002583ΔRGB(-65,-62,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage197,84 → 200,870.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage36,68 → 36,730.002067ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage387,57 → 389,580.001938ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage36,61 → 36,660.001938ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage60,72 → 62,730.001938ΔRGB(-4,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage364,60 → 366,610.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage53,62 → 56,630.001550ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 381,770.001550ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage372,49 → 373,500.001421ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage52,66 → 55,660.001421ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage30,67 → 31,680.001421ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 380,810.001421ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage365,52 → 365,550.001292ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage370,58 → 371,600.001292ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage56,63 → 57,650.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage50,68 → 51,710.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage381,77 → 382,790.001292ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage375,83 → 375,850.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage205,84 → 205,870.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage365,56 → 366,570.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage34,70 → 34,720.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage56,70 → 57,710.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,85 → 381,860.001033ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,50 → 372,520.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,56 → 371,570.000904ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,52 → 372,540.000775ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,54 → 366,560.000775ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-fonts-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x fonts-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.21% · raw 0.25% (923 px) interactions-cartesian-fonts-advanced-x-paged-media · same-element-and-bidirectional-nesting · 4 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 14.9
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (45 total; showing 45 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr4592324,60 → 67,7596total 0.4% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage51,60 → 58,710.04ΔRGB(48,45,41)antialiasing coverage residue on a shared outline
AntialiasCoverage24,60 → 33,710.03ΔRGB(-58,-54,-49)antialiasing coverage residue on a shared outline
AntialiasCoverage60,64 → 66,700.03ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage28,61 → 33,670.03ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage46,60 → 51,710.03ΔRGB(-76,-72,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 35,710.03ΔRGB(83,78,71)antialiasing coverage residue on a shared outline
AntialiasCoverage50,61 → 56,650.03ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage62,63 → 67,720.02ΔRGB(20,18,17)antialiasing coverage residue on a shared outline
AntialiasCoverage57,60 → 62,710.02ΔRGB(-42,-39,-35)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 54,700.01ΔRGB(-55,-52,-47)antialiasing coverage residue on a shared outline
AntialiasCoverage48,66 → 50,700.01ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage61,60 → 63,640.01ΔRGB(27,25,23)antialiasing coverage residue on a shared outline
AntialiasCoverage25,68 → 28,710.008422ΔRGB(63,59,54)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 33,710.008021ΔRGB(-69,-65,-59)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 61,720.006016ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage36,74 → 38,750.004813ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,63 → 45,640.004412ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,66 → 37,680.004011ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 43,730.004011ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,69 → 38,710.003609ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage43,64 → 44,650.002807ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,70 → 43,710.002807ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,66 → 44,680.002406ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,68 → 38,690.002406ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,73 → 38,740.002406ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,68 → 43,680.001604ΔRGB(0,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage44,71 → 44,710.001604ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage41,63 → 41,630.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 41,630.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage63,63 → 63,630.000802ΔRGB(-22,-21,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage41,64 → 41,640.000802ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage38,65 → 38,660.000802ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,71 → 42,720.000802ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,63 → 40,630.000401ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,64 → 40,640.000401ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage41,64 → 41,640.000401ΔRGB(-1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,65 → 38,650.000401ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,66 → 38,660.000401ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage39,70 → 39,700.000401ΔRGB(-1,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage39,70 → 39,700.000401ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage38,71 → 38,710.000401ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 42,720.000401ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,73 → 36,730.000401ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage40,75 → 40,750.000401ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage39,75 → 39,750.000401ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-fonts-advanced f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.22% · raw 0.22% (2245 px) interactions-cartesian-fonts-advanced-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 9.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (379 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr379224523,46 → 386,89230total 0.3% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage43,76 → 45,770.001679ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 44,650.001550ΔRGB(18,17,16)antialiasing coverage residue on a shared outline
AntialiasCoverage73,64 → 75,660.001550ΔRGB(-25,-23,-21)antialiasing coverage residue on a shared outline
AntialiasCoverage41,71 → 44,720.001550ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage62,61 → 63,630.001421ΔRGB(-35,-33,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage43,66 → 44,670.001421ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage221,76 → 222,780.001421ΔRGB(-35,-33,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage385,76 → 386,780.001421ΔRGB(-35,-33,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage57,73 → 59,740.001292ΔRGB(16,14,14)antialiasing coverage residue on a shared outline
AntialiasCoverage216,88 → 218,890.001292ΔRGB(16,14,14)antialiasing coverage residue on a shared outline
AntialiasCoverage380,88 → 382,890.001292ΔRGB(16,14,14)antialiasing coverage residue on a shared outline
AntialiasCoverage40,66 → 41,680.001163ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage73,70 → 74,720.001163ΔRGB(16,14,14)antialiasing coverage residue on a shared outline
AntialiasCoverage69,63 → 71,640.001033ΔRGB(16,14,14)antialiasing coverage residue on a shared outline
AntialiasCoverage47,64 → 48,640.001033ΔRGB(-4,-4,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage70,73 → 71,740.001033ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage61,65 → 62,660.000904ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage61,67 → 61,680.000904ΔRGB(-14,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage70,71 → 71,720.000904ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage72,72 → 73,730.000904ΔRGB(33,30,28)antialiasing coverage residue on a shared outline
AntialiasCoverage44,73 → 44,740.000904ΔRGB(33,30,28)antialiasing coverage residue on a shared outline
AntialiasCoverage43,74 → 44,750.000904ΔRGB(40,37,34)antialiasing coverage residue on a shared outline
AntialiasCoverage220,80 → 221,810.000904ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage384,80 → 385,810.000904ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage220,82 → 220,830.000904ΔRGB(-14,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage384,82 → 384,830.000904ΔRGB(-14,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage32,61 → 33,620.000775ΔRGB(34,32,29)antialiasing coverage residue on a shared outline
AntialiasCoverage31,62 → 32,630.000775ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage60,62 → 61,630.000775ΔRGB(-19,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage63,64 → 63,650.000775ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage29,65 → 30,660.000775ΔRGB(31,29,27)antialiasing coverage residue on a shared outline
AntialiasCoverage28,66 → 29,670.000775ΔRGB(28,26,24)antialiasing coverage residue on a shared outline
AntialiasCoverage31,66 → 31,670.000775ΔRGB(24,22,20)antialiasing coverage residue on a shared outline
AntialiasCoverage30,68 → 30,680.000775ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage59,68 → 59,690.000775ΔRGB(-18,-17,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage26,70 → 26,710.000775ΔRGB(36,34,31)antialiasing coverage residue on a shared outline
AntialiasCoverage27,71 → 28,720.000775ΔRGB(30,28,26)antialiasing coverage residue on a shared outline
AntialiasCoverage44,71 → 45,720.000775ΔRGB(28,26,24)antialiasing coverage residue on a shared outline
AntialiasCoverage203,76 → 204,770.000775ΔRGB(34,32,29)antialiasing coverage residue on a shared outline
AntialiasCoverage367,76 → 368,770.000775ΔRGB(34,32,29)antialiasing coverage residue on a shared outline
AntialiasCoverage37,77 → 38,770.000775ΔRGB(-14,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage202,77 → 203,780.000775ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage219,77 → 220,780.000775ΔRGB(-19,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 367,780.000775ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage383,77 → 384,780.000775ΔRGB(-19,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage222,79 → 222,800.000775ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage386,79 → 386,800.000775ΔRGB(19,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage200,80 → 201,810.000775ΔRGB(31,29,27)antialiasing coverage residue on a shared outline
AntialiasCoverage364,80 → 365,810.000775ΔRGB(31,29,27)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.21% (2164 px) interactions-cartesian-fonts-advanced-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 7.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for fonts-advanced and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (336 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr336216428,46 → 413,87230total 0.3% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage199,49 → 211,610.03ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage223,46 → 231,580.02ΔRGB(35,32,30)antialiasing coverage residue on a shared outline
AntialiasCoverage224,50 → 230,570.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage202,50 → 208,570.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage221,46 → 226,580.009817ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage215,46 → 222,580.009430ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage188,46 → 196,580.008526ΔRGB(-26,-24,-22)antialiasing coverage residue on a shared outline
AntialiasCoverage214,47 → 220,510.007105ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage210,46 → 215,580.006975ΔRGB(-43,-40,-36)antialiasing coverage residue on a shared outline
AntialiasCoverage193,48 → 197,530.006459ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage198,46 → 199,580.005038ΔRGB(52,48,44)antialiasing coverage residue on a shared outline
AntialiasCoverage215,52 → 219,560.004134ΔRGB(-13,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage212,52 → 214,560.002583ΔRGB(45,42,39)antialiasing coverage residue on a shared outline
AntialiasCoverage65,61 → 66,650.002325ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage189,55 → 192,580.002196ΔRGB(29,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage34,60 → 36,620.002067ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage62,71 → 64,730.002067ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,75 → 371,780.002067ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage204,76 → 206,780.002067ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage39,59 → 39,630.001938ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage67,60 → 68,630.001938ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage49,64 → 51,670.001938ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage62,67 → 64,700.001938ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage68,70 → 70,720.001938ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage373,74 → 374,780.001938ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage209,75 → 209,790.001938ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage48,62 → 50,640.001808ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage36,60 → 38,620.001679ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,76 → 372,770.001679ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,76 → 208,780.001679ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,61 → 37,650.001550ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage32,62 → 34,640.001550ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage69,67 → 70,700.001550ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage372,77 → 372,800.001550ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage207,77 → 207,810.001550ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage367,78 → 368,800.001550ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage202,78 → 204,800.001550ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage69,64 → 71,650.001421ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage39,65 → 39,680.001421ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage373,81 → 373,840.001421ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 209,840.001421ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage197,55 → 197,580.001292ΔRGB(-50,-47,-43)antialiasing coverage residue on a shared outline
AntialiasCoverage30,65 → 31,670.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage60,67 → 60,690.001292ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,81 → 366,830.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage200,81 → 201,830.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage384,81 → 385,840.001292ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage220,82 → 220,840.001292ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage41,68 → 42,700.001163ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage70,68 → 71,700.001033ΔRGB(-4,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage61,71 → 62,720.001033ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,73 → 45,740.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,62 → 48,620.000904ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage43,63 → 44,640.000904ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage54,66 → 54,680.000904ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage71,66 → 72,680.000904ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage36,67 → 37,680.000904ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage58,68 → 59,690.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage59,70 → 60,710.000904ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage378,81 → 379,820.000904ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,81 → 214,830.000904ΔRGB(2,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,83 → 383,840.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage218,83 → 219,840.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,83 → 372,840.000904ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-fonts-advanced-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>fonts-advanced x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-fonts-advanced {font-family:MatrixSans;font-style:oblique 20deg;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-fonts-advanced f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-fonts-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-fonts-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.20% · raw 0.21% (2121 px) interactions-cartesian-inline-text-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (27 total; showing 27 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr27212140,48 → 387,89143total 0.3% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 49,740.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage204,77 → 212,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage368,77 → 376,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,740.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 58,730.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,83 → 211,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,83 → 375,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage206,78 → 211,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,78 → 374,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 53,740.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-inline-text f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.20% · raw 0.20% (751 px) interactions-cartesian-color-opacity-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 4.2
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and color-opacity: the color-opacity representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr17518,8 → 160,96751total 0.2% · largest 0.2%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage8,8 → 160,960.2ΔRGB(19,7,4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-color-opacity {color:#5a189a;opacity:.76;}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-color-opacity f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.20% · raw 0.20% (738 px) interactions-cartesian-effects-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 5.9
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and effects: the effects representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr273810,13 → 160,101463total 0.2% · largest 0.1%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage10,94 → 158,940.1ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage160,13 → 160,1010.07ΔRGB(-1,-7,-5)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-effects f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.19% · raw 0.19% (1970 px) interactions-cartesian-inline-text-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 27.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(-1,+0,-1) (ΔE 27.9)
Cartesian family interaction for inline-text and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (26 total; showing 26 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr26197025,48 → 376,89297total 0.3% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue25,59 → 30,740.04ΔRGB(1,10,11)fill recolour ΔRGB(+1,+10,+11) (ΔE 0)
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage67,62 → 75,740.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage368,77 → 376,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage79,65 → 85,740.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 246,870.01ΔRGB(24,25,25)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage79,66 → 84,730.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage68,68 → 73,730.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,83 → 375,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage237,76 → 238,870.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage68,63 → 73,670.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,78 → 374,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage242,82 → 244,860.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,77 → 244,810.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage239,82 → 239,860.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
ColorValue32,66 → 33,680.003229ΔRGB(10,116,122)fill recolour ΔRGB(+10,+116,+122) (ΔE 0)
ColorValue32,72 → 33,740.003229ΔRGB(-10,-116,-122)fill recolour ΔRGB(-10,-116,-122) (ΔE 0)
AntialiasCoverage239,77 → 239,810.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage77,62 → 79,620.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage77,74 → 79,740.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.19% · raw 0.19% (1953 px) interactions-cartesian-flexbox-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 29.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (18 total; showing 18 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr18195360,48 → 387,88314total 0.3% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage76,76 → 84,880.04ΔRGB(-8,-7,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage87,79 → 95,880.04ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage68,75 → 74,830.02ΔRGB(-15,-13,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage60,73 → 67,820.02ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage253,70 → 261,820.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage78,77 → 83,810.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage255,76 → 260,810.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage255,71 → 260,750.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage62,74 → 65,790.007621ΔRGB(23,22,20)antialiasing coverage residue on a shared outline
AntialiasCoverage69,81 → 74,840.005038ΔRGB(75,70,64)antialiasing coverage residue on a shared outline
AntialiasCoverage87,76 → 89,760.002325ΔRGB(-93,-88,-80)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.19% · raw 0.19% (1953 px) interactions-cartesian-generated-content-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 29.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for generated-content and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (18 total; showing 18 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr18195324,48 → 387,108314total 0.3% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage40,84 → 49,960.04ΔRGB(-8,-7,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage51,87 → 59,960.04ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage32,83 → 38,910.02ΔRGB(-15,-13,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage24,81 → 31,900.02ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage204,96 → 212,1080.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,85 → 47,890.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,102 → 211,1070.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage206,97 → 211,1010.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage26,82 → 29,870.007621ΔRGB(23,22,20)antialiasing coverage residue on a shared outline
AntialiasCoverage33,89 → 38,920.005038ΔRGB(75,70,64)antialiasing coverage residue on a shared outline
AntialiasCoverage51,84 → 53,840.002325ΔRGB(-93,-88,-80)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-generated-content-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.19% · raw 0.19% (1953 px) interactions-cartesian-grid-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 29.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for grid and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (18 total; showing 18 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr18195324,48 → 387,88314total 0.3% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage40,76 → 49,880.04ΔRGB(-8,-7,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage51,79 → 59,880.04ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage32,75 → 38,830.02ΔRGB(-15,-13,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage24,73 → 31,820.02ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage254,70 → 262,820.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,77 → 47,810.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage256,76 → 261,810.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage256,71 → 260,750.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage26,74 → 29,790.007621ΔRGB(23,22,20)antialiasing coverage residue on a shared outline
AntialiasCoverage33,81 → 38,840.005038ΔRGB(75,70,64)antialiasing coverage residue on a shared outline
AntialiasCoverage51,76 → 53,760.002325ΔRGB(-93,-88,-80)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-grid-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>grid x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-grid f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.18% · raw 0.18% (1867 px) interactions-cartesian-effects-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 20.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (19 total; showing 19 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr19186740,36 → 408,89381total 0.2% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 49,740.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage204,77 → 212,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,740.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 58,730.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,83 → 211,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage206,78 → 211,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 53,740.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.17% · raw 0.17% (1747 px) interactions-cartesian-inline-text-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 24.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (21 total; showing 21 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr21174724,48 → 376,108186total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage32,66 → 38,740.02ΔRGB(-15,-13,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage24,64 → 31,730.02ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,67 → 49,790.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage368,96 → 376,1080.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,70 → 59,790.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,71 → 58,780.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,73 → 47,770.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,102 → 375,1070.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,720.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,97 → 374,1010.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage26,65 → 29,700.007621ΔRGB(23,22,20)antialiasing coverage residue on a shared outline
AntialiasCoverage33,72 → 38,750.005038ΔRGB(75,70,64)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,67 → 53,670.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,79 → 53,790.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.16% (1660 px) interactions-cartesian-color-opacity-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 17.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (88 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr88166040,48 → 387,89143total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 49,740.02ΔRGB(-4,-7,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage204,77 → 212,890.02ΔRGB(-7,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,740.01ΔRGB(2,4,2)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 58,730.01ΔRGB(2,3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.009946ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,83 → 211,880.009946ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.009171ΔRGB(2,3,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,78 → 211,820.009171ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage373,82 → 377,860.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,76 → 371,870.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,77 → 376,810.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 367,850.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,83 → 366,830.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.001550ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,76 → 375,760.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,76 → 365,770.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 379,770.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,77 → 364,790.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,78 → 379,790.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,82 → 361,830.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,87 → 378,870.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 53,740.000775ΔRGB(107,168,77)antialiasing coverage residue on a shared outline
AntialiasCoverage366,78 → 366,800.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,85 → 369,870.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,81 → 366,820.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,83 → 368,840.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,77 → 363,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,79 → 365,800.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 367,810.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,82 → 367,830.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,850.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,87 → 361,870.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,80 → 362,800.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,80 → 379,800.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 377,800.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,82 → 379,820.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,83 → 380,840.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,850.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,85 → 378,850.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,86 → 379,860.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,86 → 359,870.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,76 → 376,760.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,770.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,77 → 365,770.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,77 → 377,770.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,78 → 366,780.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,78 → 378,790.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,79 → 363,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,81 → 361,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,81 → 363,810.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,81 → 378,810.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,81 → 363,820.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 378,810.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 362,830.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,82 → 377,820.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.16% · raw 0.16% (608 px) interactions-cartesian-backgrounds-borders-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 5.2
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 2: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and backgrounds-borders: the backgrounds-borders representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr26088,8 → 148,86401total 0.2% · largest 0.1%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage20,8 → 148,80.1ΔRGB(26,17,13)antialiasing coverage residue on a shared outline
AntialiasCoverage8,20 → 8,860.06ΔRGB(26,17,13)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-backgrounds-borders f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.16% · raw 0.16% (602 px) interactions-cartesian-page-margins-x-transforms · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-outline coverageExtraextra 0.2%ΔE 32.0
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw candidate adds paint absent from reference (0.2%)
Physical-page-context interaction for page-margins and transforms: the transforms representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (8 total; showing 8 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr712729,32 → 172,103121total 0.03% · largest 0.03%
Extra1475184,32 → 184,184475total 0.1% · largest 0.1%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
Extra184,32 → 184,1840.1candidate adds paint absent from reference (0.1%)
AntialiasCoverage29,32 → 68,320.03ΔRGB(168,97,70)antialiasing coverage residue on a shared outline
AntialiasCoverage172,49 → 172,490.000267ΔRGB(13,12,10)antialiasing coverage residue on a shared outline
AntialiasCoverage172,55 → 172,550.000267ΔRGB(12,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage42,95 → 42,950.000267ΔRGB(-3,-4,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage101,98 → 101,980.000267ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage169,102 → 169,1020.000267ΔRGB(-13,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage133,103 → 133,1030.000267ΔRGB(-4,-5,-2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-page-margins-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>page-margins x transforms interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-page-margins {}
90  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-page-margins f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.14% · raw 0.16% (1587 px) interactions-cartesian-clip-mask-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageMissingmissing 0.07%extra 0.07%ΔE 2.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw candidate lacks paint present in reference (0.07%)
Cartesian family interaction for clip-mask and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (336 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Missing72236,48 → 134,116217total 0.03% · largest 0.03%
ColorErr32111196,48 → 401,122120total 0.1% · largest 0.02% · max ΔE 4.2
Extra824521,48 → 151,116122total 0.03% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
Missing6,48 → 13,1040.03candidate lacks paint present in reference (0.03%)
Extra142,82 → 147,1160.02candidate adds paint absent from reference (0.02%)
AntialiasCoverage343,78 → 345,1070.02ΔE 3.9 ΔRGB(-51,-46,-40)antialiasing coverage residue on a shared outline
Extra147,53 → 151,820.02candidate adds paint absent from reference (0.02%)
AntialiasCoverage399,74 → 400,960.01ΔE 3.9 ΔRGB(51,46,40)antialiasing coverage residue on a shared outline
AntialiasCoverage346,65 → 347,670.001550ΔRGB(-50,-44,-38)antialiasing coverage residue on a shared outline
AntialiasCoverage397,111 → 398,1130.001421ΔRGB(50,44,38)antialiasing coverage residue on a shared outline
AntialiasCoverage401,70 → 401,730.001033ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
AntialiasCoverage13,49 → 13,510.000904ΔE 1.7 ΔRGB(10,3,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage12,57 → 12,590.000904ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage12,60 → 12,610.000904ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
ColorValue149,61 → 149,630.000904ΔRGB(-99,-84,-70)fill recolour ΔRGB(-99,-84,-70) (ΔE 0)
AntialiasCoverage11,68 → 11,690.000904ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage10,70 → 10,720.000904ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage9,78 → 9,800.000904ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage9,81 → 9,830.000904ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage8,89 → 8,910.000904ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
ColorValue8,91 → 8,930.000904ΔRGB(99,84,70)fill recolour ΔRGB(+99,+84,+70) (ΔE 0)
AntialiasCoverage7,94 → 7,960.000904ΔRGB(99,84,70)antialiasing coverage residue on a shared outline
AntialiasCoverage7,96 → 7,980.000904ΔRGB(99,84,70)antialiasing coverage residue on a shared outline
AntialiasCoverage7,99 → 7,1010.000904ΔRGB(99,84,70)antialiasing coverage residue on a shared outline
AntialiasCoverage6,102 → 6,1040.000904ΔRGB(99,84,70)antialiasing coverage residue on a shared outline
AntialiasCoverage6,104 → 6,1060.000904ΔRGB(99,84,70)antialiasing coverage residue on a shared outline
AntialiasCoverage12,52 → 12,530.000775ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage12,54 → 12,560.000775ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage150,55 → 150,560.000775ΔRGB(-99,-84,-70)antialiasing coverage residue on a shared outline
AntialiasCoverage150,57 → 150,590.000775ΔRGB(-88,-74,-62)antialiasing coverage residue on a shared outline
AntialiasCoverage149,59 → 149,610.000775ΔRGB(-88,-74,-62)antialiasing coverage residue on a shared outline
AntialiasCoverage11,62 → 11,640.000775ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage11,65 → 11,670.000775ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage148,68 → 148,700.000775ΔE 3.1 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage148,71 → 148,720.000775ΔE 3.1 ΔRGB(-9,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage10,73 → 10,750.000775ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage148,73 → 148,750.000775ΔE 3.1 ΔRGB(-8,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage10,76 → 10,770.000775ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage147,80 → 147,820.000775ΔE 3.6 ΔRGB(-10,-3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage146,82 → 146,840.000775ΔE 3.1 ΔRGB(-9,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage9,84 → 9,850.000775ΔE 3.1 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage146,84 → 146,860.000775ΔE 3.1 ΔRGB(-8,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage8,86 → 8,880.000775ΔE 4.2 ΔRGB(10,3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage146,87 → 146,880.000775ΔE 3.1 ΔRGB(-6,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage145,94 → 145,950.000775ΔE 3.1 ΔRGB(-9,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage144,96 → 144,980.000775ΔE 3.1 ΔRGB(-8,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage144,98 → 144,1000.000775ΔE 3.1 ΔRGB(-8,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage143,105 → 143,1070.000775ΔE 3.1 ΔRGB(-9,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage143,108 → 143,1090.000775ΔE 3.1 ΔRGB(-9,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage142,110 → 142,1110.000775ΔE 3.1 ΔRGB(-8,-2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage142,112 → 142,1140.000775ΔE 2.0 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage12,50 → 12,510.000646ΔE 2.0 ΔRGB(3,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage11,60 → 11,620.000646ΔE 1.0 ΔRGB(3,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage149,64 → 149,650.000646ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage148,66 → 148,680.000646ΔE 3.6 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage10,71 → 10,720.000646ΔE 1.0 ΔRGB(3,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage147,76 → 147,770.000646ΔE 3.1 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage147,78 → 147,790.000646ΔE 3.1 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage145,89 → 145,910.000646ΔE 3.1 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage145,92 → 145,930.000646ΔE 3.1 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage144,101 → 144,1020.000646ΔE 3.1 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage143,103 → 143,1040.000646ΔE 3.1 ΔRGB(-10,-3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage12,53 → 12,540.000517ΔE 1.5 ΔRGB(5,2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage150,53 → 150,540.000517ΔRGB(-119,-100,-83)antialiasing coverage residue on a shared outline
AntialiasCoverage12,55 → 12,560.000517ΔE 1.2 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage11,58 → 11,590.000517ΔE 1.0 ΔRGB(3,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage11,63 → 11,640.000517ΔE 1.5 ΔRGB(5,2,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.15% · raw 0.15% (579 px) interactions-cartesian-overflow-clipping-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 4.4
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and overflow-clipping: the overflow-clipping representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr257924,32 → 167,91421total 0.2% · largest 0.1%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage33,32 → 167,320.1ΔRGB(22,13,9)antialiasing coverage residue on a shared outline
AntialiasCoverage24,41 → 24,910.04ΔRGB(22,13,9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-overflow-clipping-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>overflow-clipping x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-overflow-clipping f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.15% · raw 0.15% (1538 px) interactions-cartesian-images-replaced-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 33.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (16 total; showing 16 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr16153824,43 → 387,89228total 0.2% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage74,57 → 75,810.03ΔRGB(190,110,30)antialiasing coverage residue on a shared outline
AntialiasCoverage32,68 → 38,760.02ΔRGB(15,14,13)antialiasing coverage residue on a shared outline
AntialiasCoverage24,66 → 31,750.02ΔRGB(16,15,13)antialiasing coverage residue on a shared outline
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage204,77 → 212,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,83 → 211,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage206,78 → 211,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage26,67 → 29,720.007621ΔRGB(-23,-22,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage33,74 → 38,770.005038ΔRGB(-75,-70,-64)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.15% · raw 0.15% (1523 px) interactions-cartesian-inline-text-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 22.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr17152344,48 → 413,88194total 0.2% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage44,61 → 53,740.03ΔRGB(-13,-12,-11)antialiasing coverage residue on a shared outline
AntialiasCoverage371,76 → 380,880.03ΔRGB(-13,-12,-11)antialiasing coverage residue on a shared outline
AntialiasCoverage55,62 → 63,750.02ΔRGB(-6,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage57,67 → 62,740.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage46,68 → 51,720.01ΔRGB(14,13,11)antialiasing coverage residue on a shared outline
AntialiasCoverage373,82 → 378,870.01ΔRGB(14,13,11)antialiasing coverage residue on a shared outline
AntialiasCoverage46,63 → 51,670.01ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage373,77 → 378,820.01ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.15% · raw 0.15% (1516 px) interactions-cartesian-transforms-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 28.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for transforms and units-values: both representatives compose on one element and in both outer/inner orders. Percentage sizing and transform origins resolve against each box before cumulative transform matrices map the painted descendants.
regions (9 total; showing 9 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr9151619,58 → 249,86490total 0.2% · largest 0.06%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage31,61 → 40,740.06ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage19,58 → 30,700.03ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage52,60 → 61,730.03ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage42,60 → 51,710.03ΔRGB(12,11,10)antialiasing coverage residue on a shared outline
AntialiasCoverage54,65 → 60,710.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage23,60 → 27,650.01ΔRGB(11,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage44,66 → 49,700.01ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage44,61 → 49,650.009559ΔRGB(-5,-5,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage249,86 → 249,860.000129ΔRGB(-8,-7,-6)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-transforms-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>transforms x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-transforms f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.14% · raw 0.14% (1456 px) interactions-cartesian-inline-text-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 27.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr17145631,48 → 368,89229total 0.2% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage359,77 → 368,890.03ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage31,62 → 40,740.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage44,65 → 50,740.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage361,83 → 366,880.01ΔRGB(-10,-10,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage44,66 → 49,730.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage361,78 → 366,820.01ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage33,68 → 38,730.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage33,63 → 38,670.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage43,62 → 44,620.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage43,74 → 44,740.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.14% (1453 px) interactions-cartesian-effects-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.007277%extra 0.001399%ΔE 1.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (19 total; showing 19 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr9142225,36 → 408,93381total 0.2% · largest 0.05% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing92666,63 → 382,935total 0.003359% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage25,76 → 67,780.04ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.6 ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,92 → 207,920.000775ΔE 1.7 ΔRGB(5,3,0)antialiasing coverage residue on a shared outline
Missing196,92 → 196,930.000646candidate lacks paint present in reference (0.000646%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing381,91 → 382,910.000517candidate lacks paint present in reference (0.000517%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing66,76 → 67,760.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage196,92 → 196,920.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
Missing207,93 → 207,930.000258candidate lacks paint present in reference (0.000258%)
Missing371,93 → 371,930.000129candidate lacks paint present in reference (0.000129%)
Missing382,93 → 382,930.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-effects-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.14% · raw 0.14% (1397 px) interactions-cartesian-positioning-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 46.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(-4,-4,-3) (ΔE 46.6)
Cartesian family interaction for positioning and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (16 total; showing 16 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr161397111,88 → 403,105221total 0.2% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue126,91 → 134,1050.03ΔRGB(-181,-170,-155)fill recolour ΔRGB(-181,-170,-155) (ΔE 0)
ColorValue126,96 → 132,1030.02ΔRGB(4,4,3)fill recolour ΔRGB(+4,+4,+3) (ΔE 0)
AntialiasCoverage398,88 → 403,1020.02ΔRGB(-119,-112,-102)antialiasing coverage residue on a shared outline
AntialiasCoverage117,92 → 122,1050.02ΔRGB(-119,-112,-102)antialiasing coverage residue on a shared outline
AntialiasCoverage124,91 → 124,1050.02ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage392,88 → 393,1020.02ΔRGB(134,126,115)antialiasing coverage residue on a shared outline
AntialiasCoverage111,92 → 112,1050.02ΔRGB(134,126,115)antialiasing coverage residue on a shared outline
AntialiasCoverage397,96 → 400,1000.006588ΔRGB(89,84,76)antialiasing coverage residue on a shared outline
AntialiasCoverage116,99 → 119,1030.006588ΔRGB(89,84,76)antialiasing coverage residue on a shared outline
AntialiasCoverage397,90 → 400,930.005296ΔRGB(74,69,63)antialiasing coverage residue on a shared outline
AntialiasCoverage116,93 → 119,970.005296ΔRGB(74,69,63)antialiasing coverage residue on a shared outline
AntialiasCoverage395,96 → 395,1000.003617ΔRGB(-208,-195,-178)antialiasing coverage residue on a shared outline
AntialiasCoverage114,99 → 114,1030.003617ΔRGB(-208,-195,-178)antialiasing coverage residue on a shared outline
AntialiasCoverage395,90 → 395,930.002842ΔRGB(-208,-195,-178)antialiasing coverage residue on a shared outline
AntialiasCoverage114,93 → 114,970.002842ΔRGB(-208,-195,-178)antialiasing coverage residue on a shared outline
AntialiasCoverage126,104 → 129,1050.002454ΔRGB(62,58,53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-positioning-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>positioning x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-positioning {position:relative;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-positioning f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.14% (513 px) interactions-cartesian-inline-text-x-paged-media · same-element-and-bidirectional-nesting · 4 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.3
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (7 total; showing 7 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr751340,62 → 59,74143total 0.2% · largest 0.06%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage40,62 → 49,740.06ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,740.04ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 58,730.04ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.03ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.03ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.004813ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 53,740.002406ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-inline-text {line-height:1.35;word-spacing:5px;}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-inline-text f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.13% (1367 px) interactions-cartesian-inline-text-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 29.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+2,+2,+2) (ΔE 29.1)
Cartesian family interaction for inline-text and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (12 total; showing 12 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr12136724,48 → 376,89295total 0.2% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue32,61 → 38,710.04ΔRGB(3,3,3)fill recolour ΔRGB(+3,+3,+3) (ΔE 0)
ColorValue24,59 → 31,680.03ΔRGB(9,9,8)fill recolour ΔRGB(+9,+9,+8) (ΔE 0)
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage368,77 → 376,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,83 → 375,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,78 → 374,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.12% · raw 0.13% (1360 px) interactions-cartesian-lists-counters-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.02%extra 0.002704%ΔE 1.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (33 total; showing 33 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr13130125,56 → 412,93472total 0.2% · largest 0.06% · max ΔE 2.2
Extra29395,62 → 412,925total 0.001163% · largest 0.000646%
Missing185035,63 → 412,9313total 0.006459% · largest 0.001679%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,77 → 98,780.06ΔE 1.6 ΔRGB(3,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 412,930.05ΔE 1.6 ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
Missing97,76 → 98,780.001679candidate lacks paint present in reference (0.001679%)
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Missing408,93 → 410,930.000775candidate lacks paint present in reference (0.000775%)
AntialiasCoverage98,76 → 98,780.000775ΔE 0.5 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,92 → 207,920.000775ΔE 1.7 ΔRGB(5,3,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,92 → 375,920.000775ΔE 2.2 ΔRGB(7,3,0)antialiasing coverage residue on a shared outline
Missing196,92 → 196,930.000646candidate lacks paint present in reference (0.000646%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
Extra412,92 → 412,920.000517candidate adds paint absent from reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
Missing412,91 → 412,910.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage97,75 → 97,760.000388ΔRGB(-8,174,144)antialiasing coverage residue on a shared outline
AntialiasCoverage196,92 → 196,920.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
Missing207,93 → 207,930.000258candidate lacks paint present in reference (0.000258%)
Missing375,93 → 375,930.000258candidate lacks paint present in reference (0.000258%)
AntialiasCoverage97,76 → 97,760.000258ΔRGB(5,2,0)antialiasing coverage residue on a shared outline
Missing35,78 → 35,780.000129candidate lacks paint present in reference (0.000129%)
Missing40,78 → 40,780.000129candidate lacks paint present in reference (0.000129%)
Missing61,78 → 61,780.000129candidate lacks paint present in reference (0.000129%)
Missing71,78 → 71,780.000129candidate lacks paint present in reference (0.000129%)
Missing76,78 → 76,780.000129candidate lacks paint present in reference (0.000129%)
Missing370,93 → 370,930.000129candidate lacks paint present in reference (0.000129%)
Missing386,93 → 386,930.000129candidate lacks paint present in reference (0.000129%)
Missing396,93 → 396,930.000129candidate lacks paint present in reference (0.000129%)
Missing402,93 → 402,930.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-lists-counters-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.13% (1322 px) interactions-cartesian-backgrounds-borders-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (22 total; showing 22 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22132217,48 → 387,110143total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage41,63 → 50,750.02ΔRGB(-8,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage205,78 → 213,900.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage54,66 → 60,750.01ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage54,67 → 59,740.01ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,69 → 48,740.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage207,84 → 212,890.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage43,64 → 48,680.009171ΔRGB(3,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage207,79 → 212,830.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage52,63 → 54,630.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage52,75 → 54,750.000775ΔRGB(197,188,178)antialiasing coverage residue on a shared outline
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.13% (1319 px) interactions-cartesian-clip-mask-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (19 total; showing 19 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr19131940,48 → 387,122143total 0.2% · largest 0.02% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 49,740.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage204,77 → 212,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,740.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 58,730.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,83 → 211,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage206,78 → 211,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 53,740.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.13% (1317 px) interactions-cartesian-block-box-model-x-inline-text · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and inline-text: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr17131740,48 → 387,93143total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage368,48 → 377,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,66 → 49,780.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage204,81 → 212,930.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage381,51 → 387,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,69 → 59,780.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage381,52 → 386,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,70 → 58,770.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage370,54 → 375,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,72 → 47,760.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,87 → 211,920.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,49 → 375,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,67 → 47,710.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage206,82 → 211,860.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage379,48 → 381,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,66 → 53,660.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage379,60 → 381,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,78 → 53,780.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-inline-text.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x inline-text interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-inline-text {line-height:1.35;word-spacing:5px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.13% (1317 px) interactions-cartesian-inline-text-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr17131740,48 → 434,74143total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage426,55 → 434,670.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 49,740.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,740.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 58,730.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage427,61 → 432,660.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage427,56 → 432,600.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 53,740.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.13% · raw 0.13% (1317 px) interactions-cartesian-inline-text-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr17131740,48 → 376,89143total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage40,62 → 49,740.02ΔRGB(-2,-9,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage368,77 → 376,890.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage53,65 → 59,740.01ΔRGB(1,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage53,66 → 58,730.01ΔRGB(0,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage42,68 → 47,730.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,83 → 375,880.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage42,63 → 47,670.009171ΔRGB(0,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage370,78 → 374,820.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage51,62 → 53,620.001550ΔRGB(-1,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage51,74 → 53,740.000775ΔRGB(38,227,224)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.12% · raw 0.12% (1260 px) interactions-cartesian-tables-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 44.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for tables and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (15 total; showing 15 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr15126059,66 → 392,95190total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage74,66 → 82,800.02ΔRGB(118,110,101)antialiasing coverage residue on a shared outline
AntialiasCoverage64,66 → 69,800.02ΔRGB(119,112,102)antialiasing coverage residue on a shared outline
AntialiasCoverage387,81 → 392,950.02ΔRGB(119,112,102)antialiasing coverage residue on a shared outline
AntialiasCoverage74,71 → 79,780.02ΔRGB(4,4,3)antialiasing coverage residue on a shared outline
AntialiasCoverage59,66 → 59,800.02ΔRGB(-134,-126,-115)antialiasing coverage residue on a shared outline
AntialiasCoverage381,81 → 382,950.02ΔRGB(-134,-126,-115)antialiasing coverage residue on a shared outline
AntialiasCoverage72,66 → 72,800.01ΔRGB(-208,-195,-178)antialiasing coverage residue on a shared outline
AntialiasCoverage64,74 → 67,780.006588ΔRGB(-89,-84,-76)antialiasing coverage residue on a shared outline
AntialiasCoverage387,89 → 389,930.006588ΔRGB(-89,-84,-76)antialiasing coverage residue on a shared outline
AntialiasCoverage63,68 → 66,710.005296ΔRGB(-74,-69,-63)antialiasing coverage residue on a shared outline
AntialiasCoverage386,83 → 389,860.005296ΔRGB(-74,-69,-63)antialiasing coverage residue on a shared outline
AntialiasCoverage61,74 → 61,780.003617ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage384,89 → 384,930.003617ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage61,68 → 61,710.002842ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage384,83 → 384,860.002842ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-tables-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>tables x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-tables f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.08% · raw 0.12% (1254 px) interactions-cartesian-clip-mask-x-color-opacity · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.004826%extra 0.08%ΔE 2.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and color-opacity: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (226 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr177100315,48 → 218,12238total 0.1% · largest 0.004909% · max ΔE 2.7
Extra3923615,48 → 140,10815total 0.03% · largest 0.001938%
Missing1015134,53 → 141,1136total 0.001938% · largest 0.000775%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage209,81 → 212,850.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 207,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 212,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage197,84 → 203,840.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
Extra23,48 → 28,480.001938candidate adds paint absent from reference (0.001938%)
Extra30,48 → 35,480.001938candidate adds paint absent from reference (0.001938%)
Extra37,49 → 42,490.001938candidate adds paint absent from reference (0.001938%)
Extra44,49 → 49,490.001938candidate adds paint absent from reference (0.001938%)
Extra52,49 → 56,490.001938candidate adds paint absent from reference (0.001938%)
Extra59,50 → 63,500.001938candidate adds paint absent from reference (0.001938%)
AntialiasCoverage198,82 → 202,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 211,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage15,108 → 18,1080.001550ΔE 1.6 ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage20,108 → 23,1080.001550ΔE 2.7 ΔRGB(8,2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage24,108 → 28,1080.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage29,109 → 32,1090.001550ΔE 2.7 ΔRGB(8,2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage33,109 → 37,1090.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage38,109 → 42,1090.001550ΔE 2.7 ΔRGB(8,2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,110 → 46,1100.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage47,110 → 51,1100.001550ΔE 2.7 ΔRGB(8,2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage52,110 → 55,1100.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage57,111 → 60,1110.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage66,111 → 69,1110.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage75,112 → 79,1120.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage84,113 → 88,1130.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage94,113 → 97,1130.001550ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
ColorValue103,114 → 107,1140.001550ΔRGB(75,65,54)fill recolour ΔRGB(+75,+65,+54) (ΔE 0)
AntialiasCoverage112,115 → 116,1150.001550ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage122,115 → 125,1150.001550ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage67,50 → 70,500.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage74,50 → 77,500.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage81,51 → 84,510.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage88,51 → 92,510.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage95,51 → 99,510.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage102,52 → 106,520.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage109,52 → 113,520.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage116,52 → 120,520.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage124,52 → 127,520.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage131,53 → 134,530.001421ΔE 1.0 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage61,111 → 65,1110.001421ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage71,112 → 74,1120.001421ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage80,112 → 83,1120.001421ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage89,113 → 92,1130.001421ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage99,114 → 102,1140.001421ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage108,114 → 111,1140.001421ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage117,115 → 120,1150.001421ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage126,116 → 130,1160.001421ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage199,75 → 201,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,75 → 214,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage200,76 → 200,780.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
Extra17,89 → 17,910.000904candidate adds paint absent from reference (0.000904%)
Extra16,92 → 16,940.000904candidate adds paint absent from reference (0.000904%)
Extra16,95 → 16,970.000904candidate adds paint absent from reference (0.000904%)
Extra16,99 → 16,1000.000904candidate adds paint absent from reference (0.000904%)
Extra15,101 → 15,1030.000904candidate adds paint absent from reference (0.000904%)
Extra15,105 → 15,1070.000904candidate adds paint absent from reference (0.000904%)
AntialiasCoverage140,56 → 140,580.000904ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage140,58 → 140,600.000904ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
AntialiasCoverage140,64 → 140,660.000904ΔRGB(75,65,54)antialiasing coverage residue on a shared outline
ColorValue139,66 → 139,680.000904ΔRGB(75,65,54)fill recolour ΔRGB(+75,+65,+54) (ΔE 0)
ColorValue139,69 → 139,710.000904ΔRGB(64,54,44)fill recolour ΔRGB(+64,+54,+44) (ΔE 0)
AntialiasCoverage138,77 → 138,790.000904ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,77 → 215,780.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage138,79 → 138,810.000904ΔE 2.7 ΔRGB(8,2,-2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-color-opacity.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x color-opacity interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-color-opacity {color:#5a189a;opacity:.76;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.12% · raw 0.12% (1234 px) interactions-cartesian-inline-text-x-tables · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 24.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (14 total; showing 14 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr14123430,48 → 379,92186total 0.2% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage38,67 → 44,750.02ΔRGB(-15,-13,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage30,65 → 37,740.02ΔRGB(-15,-14,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage371,80 → 379,920.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,86 → 378,910.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage372,81 → 377,850.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage32,66 → 35,710.007621ΔRGB(23,22,20)antialiasing coverage residue on a shared outline
AntialiasCoverage39,73 → 44,760.005038ΔRGB(75,70,64)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.12% (453 px) interactions-cartesian-page-margins-x-text-advanced · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.05%ΔE 0.7
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 3: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and text-advanced: the text-advanced representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (7 total; showing 7 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Missing314342,44 → 84,75132total 0.04% · largest 0.04%
ColorErr431042,44 → 84,75154total 0.08% · largest 0.04% · max ΔE 0.8

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage49,73 → 71,750.04ΔE 0.8 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage42,44 → 84,460.04ΔE 0.5 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
Missing42,46 → 84,460.04candidate lacks paint present in reference (0.04%)
Missing70,73 → 71,750.002133candidate lacks paint present in reference (0.002133%)
AntialiasCoverage42,45 → 42,450.001067ΔRGB(5,2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage63,45 → 63,450.001067ΔRGB(6,3,0)antialiasing coverage residue on a shared outline
Missing83,44 → 84,440.000800candidate lacks paint present in reference (0.000800%)
source · cases/interactions/interactions-cartesian-page-margins-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>page-margins x text-advanced interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-page-margins {}
90  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-page-margins f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.12% (1219 px) interactions-cartesian-color-opacity-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.001784%extra 0.001486%ΔE 1.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (95 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr92120825,62 → 395,93288total 0.2% · largest 0.04% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing2666,63 → 353,773total 0.000775% · largest 0.000388%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,75 → 67,780.04ΔE 1.4 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,90 → 382,930.02ΔE 0.8 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.1 ΔRGB(-3,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,84 → 367,850.002196ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,75 → 375,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,82 → 366,820.001421ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 365,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,75 → 379,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage374,85 → 377,850.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage374,82 → 376,820.001163ΔE 0.8 ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,90 → 359,920.001163ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage374,77 → 376,770.001033ΔE 0.4 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,81 → 361,820.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,90 → 206,920.000904ΔRGB(0,-29,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage364,78 → 365,790.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,80 → 380,810.000775ΔE 0.8 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,82 → 378,830.000775ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,86 → 380,870.000775ΔE 0.8 ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
AntialiasCoverage374,80 → 375,800.000646ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 366,810.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 363,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,770.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,78 → 380,790.000517ΔE 0.7 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,840.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing66,76 → 66,770.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage365,76 → 365,760.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,77 → 380,780.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,78 → 367,780.000388ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,80 → 364,800.000388ΔE 0.4 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 378,800.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,850.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,85 → 359,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,85 → 362,860.000388ΔE 0.8 ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,87 → 360,870.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 376,750.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 378,780.000258ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,79 → 363,790.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,79 → 367,790.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,80 → 361,800.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000258ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,80 → 378,800.000258ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,81 → 368,810.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,82 → 366,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 368,820.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,83 → 360,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000258ΔE 0.8 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 377,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,85 → 367,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,86 → 370,860.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,86 → 368,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,87 → 361,870.000258ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage370,87 → 370,870.000258ΔE 0.4 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,87 → 379,870.000258ΔE 0.8 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage45,75 → 45,750.000129ΔRGB(0,4,4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.09% · raw 0.12% (1205 px) interactions-cartesian-text-advanced-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.008104%extra 0.001501%ΔE 1.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for text-advanced and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (18 total; showing 18 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr7117325,61 → 395,93293total 0.2% · largest 0.04% · max ΔE 1.9
Missing102766,62 → 382,934total 0.003488% · largest 0.000517%
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage189,61 → 231,640.04ΔE 1.6 ΔRGB(-4,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,76 → 67,780.04ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing381,91 → 382,910.000517candidate lacks paint present in reference (0.000517%)
Missing196,92 → 196,930.000517candidate lacks paint present in reference (0.000517%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
AntialiasCoverage360,92 → 360,930.000517ΔE 0.4 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
Missing230,62 → 230,630.000388candidate lacks paint present in reference (0.000388%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing66,76 → 67,760.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
Missing231,62 → 231,620.000129candidate lacks paint present in reference (0.000129%)
Missing231,64 → 231,640.000129candidate lacks paint present in reference (0.000129%)
Missing371,93 → 371,930.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-text-advanced-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>text-advanced x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-text-advanced f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.11% · raw 0.11% (1152 px) interactions-cartesian-inline-text-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 24.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for inline-text and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (19 total; showing 19 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr19115223,48 → 368,85165total 0.1% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage23,60 → 33,700.02ΔRGB(18,17,15)antialiasing coverage residue on a shared outline
AntialiasCoverage358,75 → 368,850.02ΔRGB(18,17,15)antialiasing coverage residue on a shared outline
AntialiasCoverage204,48 → 212,600.02ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage217,51 → 223,600.01ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage217,52 → 222,590.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage206,54 → 211,590.009946ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage206,49 → 211,530.009171ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage34,68 → 39,710.008396ΔRGB(-19,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage27,62 → 29,660.006330ΔRGB(-19,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage362,77 → 364,810.006330ΔRGB(-19,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage34,62 → 40,650.005555ΔRGB(89,84,76)antialiasing coverage residue on a shared outline
AntialiasCoverage35,70 → 40,730.004909ΔRGB(-89,-83,-76)antialiasing coverage residue on a shared outline
AntialiasCoverage36,64 → 39,660.003617ΔRGB(-74,-69,-63)antialiasing coverage residue on a shared outline
AntialiasCoverage36,67 → 39,690.003359ΔRGB(72,68,62)antialiasing coverage residue on a shared outline
AntialiasCoverage215,48 → 217,480.001550ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage215,60 → 217,600.000775ΔRGB(208,195,178)antialiasing coverage residue on a shared outline
AntialiasCoverage34,65 → 34,660.000517ΔRGB(22,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage35,66 → 35,670.000517ΔRGB(17,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage34,67 → 34,670.000388ΔRGB(-18,-17,-15)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-inline-text-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-text x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-inline-text {line-height:1.35;word-spacing:5px;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-inline-text f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-inline-text"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-inline-text"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.11% · raw 0.11% (1099 px) interactions-cartesian-effects-x-effects · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and effects: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr41099181,36 → 467,67381total 0.1% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage345,36 → 467,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-effects.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x effects interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-effects f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.002265% · raw 0.11% (1095 px) interactions-cartesian-backgrounds-borders-x-color-opacity · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyColorValueΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: fill recolour ΔRGB(+2,+1,+0) (ΔE 0.5)
Cartesian family interaction for backgrounds-borders and color-opacity: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (7 total; showing 7 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr7109517,57 → 362,110614total 0.1% · largest 0.08% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue208,76 → 216,870.08ΔE 0.5 ΔRGB(2,1,0)fill recolour ΔRGB(+2,+1,+0) (ΔE 0.5)
ColorValue196,76 → 206,870.06ΔE 0.5 ΔRGB(2,1,0)fill recolour ΔRGB(+2,+1,+0) (ΔE 0.5)
AntialiasCoverage17,57 → 17,570.000129ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(5,5,3)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-7,-7,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(12,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-7,-6,-6)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-color-opacity.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x color-opacity interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-color-opacity {color:#5a189a;opacity:.76;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.08% · raw 0.11% (1094 px) interactions-cartesian-text-advanced-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoveragemissing 0.02%extra 0.02%ΔE 1.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for text-advanced and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (23 total; showing 23 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr698125,61 → 386,95293total 0.1% · largest 0.04% · max ΔE 2.2
Missing125445,62 → 385,9521total 0.006975% · largest 0.002713%
Extra55937,77 → 386,9517total 0.007621% · largest 0.002196%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage189,61 → 231,640.04ΔE 1.6 ΔRGB(-4,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage48,77 → 76,800.03ΔE 2.1 ΔRGB(-6,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,92 → 222,950.02ΔE 2.2 ΔRGB(-8,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,92 → 386,950.02ΔE 1.6 ΔRGB(-6,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,77 → 38,800.01ΔE 0.7 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
Missing45,79 → 47,800.002713candidate lacks paint present in reference (0.002713%)
ColorValue45,77 → 47,790.002454ΔRGB(8,-174,-144)fill recolour ΔRGB(+8,-174,-144) (ΔE 0)
Extra385,93 → 386,950.002196candidate adds paint absent from reference (0.002196%)
Extra45,77 → 46,780.001421candidate adds paint absent from reference (0.001421%)
Extra221,93 → 222,950.001421candidate adds paint absent from reference (0.001421%)
Extra37,78 → 38,800.001292candidate adds paint absent from reference (0.001292%)
Extra75,78 → 75,800.001292candidate adds paint absent from reference (0.001292%)
Missing74,78 → 74,790.000904candidate lacks paint present in reference (0.000904%)
Missing220,93 → 221,940.000775candidate lacks paint present in reference (0.000775%)
Missing384,93 → 385,940.000775candidate lacks paint present in reference (0.000775%)
Missing230,62 → 230,630.000388candidate lacks paint present in reference (0.000388%)
Missing196,94 → 196,950.000388candidate lacks paint present in reference (0.000388%)
Missing360,94 → 360,950.000388candidate lacks paint present in reference (0.000388%)
Missing231,62 → 231,620.000129candidate lacks paint present in reference (0.000129%)
Missing231,64 → 231,640.000129candidate lacks paint present in reference (0.000129%)
Missing50,80 → 50,800.000129candidate lacks paint present in reference (0.000129%)
Missing209,95 → 209,950.000129candidate lacks paint present in reference (0.000129%)
Missing373,95 → 373,950.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-text-advanced-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>text-advanced x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-text-advanced f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.09% · raw 0.10% (1052 px) interactions-cartesian-images-replaced-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.006578%extra 0.001495%ΔE 1.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (18 total; showing 18 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr10102525,43 → 395,102284total 0.1% · largest 0.04% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing722196,63 → 382,1025total 0.002842% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,85 → 67,870.04ΔE 1.3 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,100 → 382,1020.02ΔE 1.8 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,92 → 207,920.000775ΔE 1.7 ΔRGB(5,3,0)antialiasing coverage residue on a shared outline
Missing196,92 → 196,930.000646candidate lacks paint present in reference (0.000646%)
Missing381,100 → 382,1000.000646candidate lacks paint present in reference (0.000646%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
Missing360,101 → 360,1020.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage196,92 → 196,920.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage381,100 → 381,1000.000388ΔE 1.9 ΔRGB(6,3,0)antialiasing coverage residue on a shared outline
Missing207,93 → 207,930.000258candidate lacks paint present in reference (0.000258%)
Missing371,102 → 371,1020.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-images-replaced-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.10% · raw 0.10% (380 px) interactions-cartesian-images-replaced-x-paged-media · same-element-and-bidirectional-nesting · 4 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 44.1
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr338066,57 → 100,81152total 0.2% · largest 0.06%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage80,57 → 80,810.06ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage100,57 → 100,810.06ΔRGB(-7,-14,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage66,57 → 66,810.03ΔRGB(175,188,196)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-images-replaced {}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-images-replaced f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.10% (992 px) interactions-cartesian-generated-content-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.01%extra 0.001490%ΔE 1.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for generated-content and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (23 total; showing 23 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1194925,62 → 395,134268total 0.1% · largest 0.03% · max ΔE 3.5
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing113830,63 → 382,1126total 0.004909% · largest 0.000775%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,110 → 218,1120.02ΔE 1.9 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,110 → 382,1120.02ΔE 0.8 ΔRGB(-5,-3,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage25,95 → 67,970.02ΔE 3.5 ΔRGB(-13,-5,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,132 → 366,1340.007621ΔE 0.7 ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 366,930.006975ΔE 1.6 ΔRGB(-2,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,76 → 31,780.006588ΔE 1.6 ΔRGB(-2,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,118 → 31,1190.005425ΔE 0.7 ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Missing371,111 → 371,1120.000775candidate lacks paint present in reference (0.000775%)
AntialiasCoverage30,117 → 31,1170.000775ΔE 0.8 ΔRGB(3,2,1)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
Missing381,110 → 382,1100.000517candidate lacks paint present in reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing30,76 → 31,760.000388candidate lacks paint present in reference (0.000388%)
Missing365,91 → 366,910.000388candidate lacks paint present in reference (0.000388%)
Missing66,95 → 67,950.000388candidate lacks paint present in reference (0.000388%)
Missing217,110 → 218,1100.000388candidate lacks paint present in reference (0.000388%)
Missing196,111 → 196,1120.000388candidate lacks paint present in reference (0.000388%)
Missing360,111 → 360,1120.000388candidate lacks paint present in reference (0.000388%)
Missing382,111 → 382,1120.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage66,95 → 67,950.000388ΔE 0.5 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-generated-content-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.09% · raw 0.09% (964 px) interactions-cartesian-clip-mask-x-effects · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoverageextra 0.001859%ΔE 6.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and effects: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (50 total; showing 50 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr4995822,36 → 467,122381total 0.1% · largest 0.05% · max ΔE 7.2
Extra16141,53 → 141,556total 0.000775% · largest 0.000775%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage345,36 → 467,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage136,53 → 140,530.001808ΔE 7.2 ΔRGB(0,-9,-8)antialiasing coverage residue on a shared outline
ColorValue24,108 → 28,1080.001550ΔE 7.1 ΔRGB(-1,-12,-10)fill recolour ΔRGB(-1,-12,-10) (ΔE 7.1)
AntialiasCoverage29,109 → 32,1090.001550ΔE 7.1 ΔRGB(-1,-14,-11)antialiasing coverage residue on a shared outline
ColorValue33,109 → 37,1090.001550ΔE 7.1 ΔRGB(-1,-12,-10)fill recolour ΔRGB(-1,-12,-10) (ΔE 7.1)
AntialiasCoverage38,109 → 42,1090.001550ΔE 7.1 ΔRGB(-1,-14,-11)antialiasing coverage residue on a shared outline
ColorValue43,110 → 46,1100.001550ΔE 7.1 ΔRGB(-1,-12,-10)fill recolour ΔRGB(-1,-12,-10) (ΔE 7.1)
ColorValue47,110 → 51,1100.001550ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
ColorValue52,110 → 55,1100.001550ΔE 7.1 ΔRGB(-1,-12,-10)fill recolour ΔRGB(-1,-12,-10) (ΔE 7.1)
ColorValue57,111 → 60,1110.001550ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
ColorValue66,111 → 69,1110.001550ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
ColorValue75,112 → 79,1120.001550ΔRGB(0,-6,-6)fill recolour ΔRGB(+0,-6,-6) (ΔE 0)
AntialiasCoverage84,113 → 88,1130.001550ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage94,113 → 97,1130.001550ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
ColorValue103,114 → 107,1140.001550ΔRGB(2,-9,-23)fill recolour ΔRGB(+2,-9,-23) (ΔE 0)
AntialiasCoverage112,115 → 116,1150.001550ΔRGB(0,-6,-5)antialiasing coverage residue on a shared outline
ColorValue61,111 → 65,1110.001421ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
ColorValue71,112 → 74,1120.001421ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
ColorValue80,112 → 83,1120.001421ΔRGB(0,-6,-6)fill recolour ΔRGB(+0,-6,-6) (ΔE 0)
AntialiasCoverage89,113 → 92,1130.001421ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage99,114 → 102,1140.001421ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage108,114 → 111,1140.001421ΔRGB(0,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage117,115 → 120,1150.001421ΔRGB(0,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage140,64 → 140,660.000904ΔRGB(-1,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage139,66 → 139,680.000904ΔRGB(0,-6,-5)antialiasing coverage residue on a shared outline
ColorValue139,69 → 139,710.000904ΔRGB(0,-6,-5)fill recolour ΔRGB(+0,-6,-5) (ΔE 0)
AntialiasCoverage139,72 → 139,740.000904ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage138,74 → 138,760.000904ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage138,77 → 138,790.000904ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage138,79 → 138,810.000904ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage137,82 → 137,840.000904ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage137,85 → 137,870.000904ΔRGB(0,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage137,87 → 137,890.000904ΔE 6.8 ΔRGB(-1,-13,-10)antialiasing coverage residue on a shared outline
ColorValue136,90 → 136,920.000904ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
ColorValue136,93 → 136,950.000904ΔE 5.9 ΔRGB(-1,-12,-10)fill recolour ΔRGB(-1,-12,-10) (ΔE 5.9)
ColorValue136,95 → 136,970.000904ΔE 6.8 ΔRGB(-1,-13,-10)fill recolour ΔRGB(-1,-13,-10) (ΔE 6.8)
AntialiasCoverage135,98 → 135,1000.000904ΔE 7.1 ΔRGB(0,-14,-11)antialiasing coverage residue on a shared outline
ColorValue135,101 → 135,1030.000904ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
ColorValue135,103 → 135,1050.000904ΔE 5.9 ΔRGB(-1,-12,-10)fill recolour ΔRGB(-1,-12,-10) (ΔE 5.9)
ColorValue134,106 → 134,1080.000904ΔE 6.8 ΔRGB(-1,-13,-10)fill recolour ΔRGB(-1,-13,-10) (ΔE 6.8)
ColorValue134,108 → 134,1100.000904ΔE 7.1 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.1)
AntialiasCoverage134,111 → 134,1130.000904ΔRGB(-1,-8,-8)antialiasing coverage residue on a shared outline
Extra141,53 → 141,550.000775candidate adds paint absent from reference (0.000775%)
AntialiasCoverage140,61 → 140,630.000775ΔRGB(0,-6,-5)antialiasing coverage residue on a shared outline
ColorValue22,108 → 23,1080.000517ΔE 7.2 ΔRGB(-1,-14,-11)fill recolour ΔRGB(-1,-14,-11) (ΔE 7.2)
AntialiasCoverage133,114 → 133,1150.000517ΔRGB(0,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage141,55 → 141,550.000129ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-effects.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x effects interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.09% · raw 0.09% (944 px) interactions-cartesian-multicol-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 35.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for multicol and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (9 total; showing 9 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr9944255,52 → 413,86332total 0.1% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage255,52 → 267,640.04ΔRGB(-5,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage268,53 → 277,650.04ΔRGB(9,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage259,54 → 264,600.02ΔRGB(11,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage269,59 → 275,630.01ΔRGB(-9,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage270,54 → 275,580.01ΔRGB(-5,-5,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage308,56 → 308,560.000129ΔRGB(-8,-7,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage386,82 → 386,820.000129ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-multicol-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>multicol x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-multicol f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.09% (940 px) interactions-cartesian-tables-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.008071%extra 0.001495%ΔE 1.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for tables and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr790831,62 → 395,99268total 0.1% · largest 0.03% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing92751,63 → 391,993total 0.003488% · largest 0.000388%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,94 → 221,960.02ΔE 1.1 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage31,82 → 52,840.02ΔE 1.1 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage55,82 → 76,840.02ΔE 1.6 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,97 → 377,990.01ΔE 0.8 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,97 → 391,990.01ΔE 1.1 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing51,82 → 52,820.000388candidate lacks paint present in reference (0.000388%)
Missing75,82 → 76,820.000388candidate lacks paint present in reference (0.000388%)
Missing220,94 → 220,940.000388candidate lacks paint present in reference (0.000388%)
Missing199,95 → 199,960.000388candidate lacks paint present in reference (0.000388%)
Missing376,97 → 377,970.000388candidate lacks paint present in reference (0.000388%)
Missing390,97 → 391,970.000388candidate lacks paint present in reference (0.000388%)
Missing366,98 → 366,990.000388candidate lacks paint present in reference (0.000388%)
Missing380,98 → 380,990.000388candidate lacks paint present in reference (0.000388%)
source · cases/interactions/interactions-cartesian-tables-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>tables x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-tables f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.09% (343 px) interactions-cartesian-color-opacity-x-paged-media · same-element-and-bidirectional-nesting · 4 pagesPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 4: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr7134331,75 → 52,8638total 0.1% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage45,81 → 49,850.02ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage43,75 → 43,860.01ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage45,76 → 48,800.01ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage33,84 → 39,840.009224ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage34,82 → 38,820.005214ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage44,75 → 47,750.004813ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage35,75 → 37,760.004011ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage49,75 → 51,760.004011ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,76 → 36,780.003208ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,77 → 51,780.002807ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,81 → 33,820.002807ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,86 → 50,860.002807ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage38,77 → 38,790.002406ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage41,84 → 41,860.002406ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,80 → 38,810.002005ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,82 → 40,830.002005ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage34,76 → 35,770.001604ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage34,78 → 34,780.001604ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,78 → 37,790.001604ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage39,80 → 39,800.001604ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage39,81 → 39,820.001604ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage52,84 → 52,840.001604ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,86 → 33,860.001604ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage34,79 → 34,790.001203ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage51,79 → 51,790.001203ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,79 → 49,790.001203ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,81 → 51,810.001203ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage52,82 → 52,830.001203ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,83 → 50,830.001203ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage40,84 → 40,840.001203ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,84 → 50,840.001203ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,85 → 51,850.001203ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage31,85 → 31,860.001203ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage48,75 → 48,750.000802ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,76 → 37,760.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage37,76 → 37,760.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,76 → 49,760.000802ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage38,77 → 38,770.000802ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,77 → 50,780.000802ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage35,78 → 35,790.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage33,80 → 33,800.000802ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage35,80 → 35,800.000802ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage50,80 → 50,800.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage35,80 → 35,810.000802ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,80 → 50,800.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage34,81 → 34,820.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,81 → 49,810.000802ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage38,82 → 38,820.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,82 → 50,820.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,83 → 32,840.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage32,84 → 32,840.000802ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage33,85 → 33,850.000802ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,85 → 49,850.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage39,85 → 39,850.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,85 → 51,860.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,86 → 40,860.000802ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage41,86 → 41,860.000802ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage49,77 → 49,770.000401ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage36,78 → 36,780.000401ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage50,78 → 50,780.000401ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage49,79 → 49,790.000401ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage35,79 → 35,790.000401ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage37,80 → 37,800.000401ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage48,80 → 48,800.000401ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-paged-media.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x paged-media interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-color-opacity {color:#5a189a;opacity:.76;}
65  .f-paged-media {break-before:page;break-inside:avoid;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-color-opacity f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.08% · raw 0.09% (926 px) interactions-cartesian-text-advanced-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.009870%ΔE 1.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for text-advanced and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (21 total; showing 21 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1089016,61 → 373,93293total 0.1% · largest 0.04% · max ΔE 2.2
Missing113637,62 → 373,9310total 0.004650% · largest 0.001292%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage189,61 → 231,640.04ΔE 1.6 ΔRGB(-4,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage16,77 → 58,780.04ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage351,91 → 373,930.02ΔE 1.6 ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
Missing57,76 → 58,780.001292candidate lacks paint present in reference (0.001292%)
AntialiasCoverage59,76 → 59,780.000775ΔE 0.4 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,92 → 207,920.000775ΔE 1.7 ΔRGB(5,3,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,92 → 362,920.000775ΔE 2.2 ΔRGB(7,3,0)antialiasing coverage residue on a shared outline
Missing196,92 → 196,930.000646candidate lacks paint present in reference (0.000646%)
Missing351,92 → 351,930.000646candidate lacks paint present in reference (0.000646%)
Missing230,62 → 230,630.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
Missing372,91 → 373,910.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage57,76 → 58,760.000388ΔE 1.6 ΔRGB(5,2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,92 → 196,920.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage351,92 → 351,920.000388ΔE 1.9 ΔRGB(6,3,0)antialiasing coverage residue on a shared outline
Missing207,93 → 207,930.000258candidate lacks paint present in reference (0.000258%)
Missing362,93 → 362,930.000258candidate lacks paint present in reference (0.000258%)
Missing231,62 → 231,620.000129candidate lacks paint present in reference (0.000129%)
Missing231,64 → 231,640.000129candidate lacks paint present in reference (0.000129%)
Missing37,78 → 37,780.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-text-advanced-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>text-advanced x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-text-advanced f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.09% (910 px) interactions-cartesian-flexbox-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.005682%extra 0.04%ΔE 1.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr675358,62 → 395,99268total 0.10% · largest 0.03% · max ΔE 1.9
Extra413858,62 → 395,9964total 0.02% · largest 0.008267%
Missing71999,63 → 393,993total 0.002454% · largest 0.000388%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage58,90 → 100,920.02ΔE 1.1 ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage245,84 → 267,860.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,97 → 393,990.02ΔE 0.8 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
Extra58,92 → 78,920.008267candidate adds paint absent from reference (0.008267%)
Extra79,92 → 100,920.008267candidate adds paint absent from reference (0.008267%)
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Extra393,97 → 393,990.000646candidate adds paint absent from reference (0.000646%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing266,84 → 267,840.000388candidate lacks paint present in reference (0.000388%)
Missing245,85 → 245,860.000388candidate lacks paint present in reference (0.000388%)
Missing99,90 → 100,900.000388candidate lacks paint present in reference (0.000388%)
Missing392,97 → 393,970.000388candidate lacks paint present in reference (0.000388%)
Missing371,98 → 371,990.000388candidate lacks paint present in reference (0.000388%)
Missing256,86 → 256,860.000129candidate lacks paint present in reference (0.000129%)
AntialiasCoverage393,97 → 393,970.000129ΔE 1.8 ΔRGB(-7,-3,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.09% (909 px) interactions-cartesian-clip-mask-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.007503%extra 0.001631%ΔE 1.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (20 total; showing 20 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr988125,62 → 395,122280total 0.1% · largest 0.04% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing102346,63 → 382,935total 0.002971% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,76 → 67,780.04ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.6 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,92 → 360,930.000904ΔE 0.5 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
Missing381,91 → 382,910.000646candidate lacks paint present in reference (0.000646%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing196,92 → 196,930.000517candidate lacks paint present in reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing66,76 → 67,760.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage381,91 → 381,910.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
Missing46,78 → 46,780.000129candidate lacks paint present in reference (0.000129%)
Missing207,93 → 207,930.000129candidate lacks paint present in reference (0.000129%)
Missing360,93 → 360,930.000129candidate lacks paint present in reference (0.000129%)
Missing371,93 → 371,930.000129candidate lacks paint present in reference (0.000129%)
Missing382,93 → 382,930.000129candidate lacks paint present in reference (0.000129%)
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.09% (903 px) interactions-cartesian-selectors-cascade-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.007764%extra 0.001493%ΔE 1.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for selectors-cascade and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr787225,62 → 395,93281total 0.1% · largest 0.04% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing92666,63 → 382,935total 0.003359% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,76 → 67,780.04ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.6 ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,92 → 207,920.000775ΔE 1.7 ΔRGB(5,3,0)antialiasing coverage residue on a shared outline
Missing196,92 → 196,930.000646candidate lacks paint present in reference (0.000646%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing381,91 → 382,910.000517candidate lacks paint present in reference (0.000517%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing66,76 → 67,760.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage196,92 → 196,920.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
Missing207,93 → 207,930.000258candidate lacks paint present in reference (0.000258%)
Missing371,93 → 371,930.000129candidate lacks paint present in reference (0.000129%)
Missing382,93 → 382,930.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-selectors-cascade-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>selectors-cascade x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-selectors-cascade {}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-selectors-cascade f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.09% (900 px) interactions-cartesian-grid-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.005982%extra 0.04%ΔE 1.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for grid and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (16 total; showing 16 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr674625,62 → 395,99268total 0.10% · largest 0.03% · max ΔE 1.9
Extra313425,62 → 395,9265total 0.02% · largest 0.008396%
Missing72066,63 → 382,994total 0.002583% · largest 0.000517%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage246,84 → 268,860.02ΔE 1.6 ΔRGB(-2,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,97 → 382,990.02ΔE 1.3 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,91 → 67,920.02ΔE 1.1 ΔRGB(-4,-2,0)antialiasing coverage residue on a shared outline
Extra46,92 → 67,920.008396candidate adds paint absent from reference (0.008396%)
Extra25,92 → 45,920.008267candidate adds paint absent from reference (0.008267%)
AntialiasCoverage66,90 → 67,920.001292ΔE 1.1 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing381,97 → 382,970.000517candidate lacks paint present in reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing267,84 → 268,840.000388candidate lacks paint present in reference (0.000388%)
Missing246,85 → 246,860.000388candidate lacks paint present in reference (0.000388%)
Missing66,90 → 67,900.000388candidate lacks paint present in reference (0.000388%)
Missing360,98 → 360,990.000388candidate lacks paint present in reference (0.000388%)
Missing257,86 → 257,860.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-grid-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>grid x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-grid f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.09% (899 px) interactions-cartesian-multicol-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.01%extra 0.001495%ΔE 1.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for multicol and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (14 total; showing 14 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr585925,62 → 395,93281total 0.1% · largest 0.04% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing83566,63 → 382,9319total 0.004521% · largest 0.002454%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,76 → 67,780.04ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage253,69 → 276,710.02ΔE 1.6 ΔRGB(-2,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.6 ΔRGB(-6,-2,0)antialiasing coverage residue on a shared outline
Missing380,91 → 382,930.002454candidate lacks paint present in reference (0.002454%)
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing253,70 → 253,710.000388candidate lacks paint present in reference (0.000388%)
Missing66,76 → 67,760.000388candidate lacks paint present in reference (0.000388%)
Missing275,69 → 275,690.000129candidate lacks paint present in reference (0.000129%)
Missing264,71 → 264,710.000129candidate lacks paint present in reference (0.000129%)
Missing371,93 → 371,930.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-multicol-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>multicol x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-multicol f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.09% (897 px) interactions-cartesian-backgrounds-borders-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.008390%extra 0.001498%ΔE 1.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (24 total; showing 24 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1286417,57 → 395,110279total 0.1% · largest 0.04% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing112826,63 → 383,946total 0.003617% · largest 0.000775%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage26,77 → 68,790.04ΔRGB(-8,-4,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage197,92 → 219,940.02ΔE 1.8 ΔRGB(-6,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,92 → 383,940.02ΔRGB(-10,-4,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Missing382,92 → 383,920.000775candidate lacks paint present in reference (0.000775%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
AntialiasCoverage208,93 → 208,930.000517ΔRGB(6,3,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,93 → 372,930.000517ΔRGB(6,4,0)antialiasing coverage residue on a shared outline
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing67,77 → 68,770.000388candidate lacks paint present in reference (0.000388%)
Missing26,78 → 26,790.000388candidate lacks paint present in reference (0.000388%)
Missing218,92 → 219,920.000388candidate lacks paint present in reference (0.000388%)
Missing361,93 → 361,940.000388candidate lacks paint present in reference (0.000388%)
Missing208,94 → 208,940.000258candidate lacks paint present in reference (0.000258%)
Missing372,94 → 372,940.000258candidate lacks paint present in reference (0.000258%)
Missing47,79 → 47,790.000129candidate lacks paint present in reference (0.000129%)
Missing197,94 → 197,940.000129candidate lacks paint present in reference (0.000129%)
Missing383,94 → 383,940.000129candidate lacks paint present in reference (0.000129%)
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.09% (894 px) interactions-cartesian-color-opacity-x-effects · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 4.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and effects: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (73 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr73894190,36 → 467,86381total 0.1% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage345,36 → 467,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage190,67 → 244,670.02ΔRGB(5,-6,-27)antialiasing coverage residue on a shared outline
AntialiasCoverage373,81 → 377,850.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,76 → 376,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 367,840.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 366,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,75 → 375,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 365,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,75 → 379,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,780.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,77 → 379,780.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,81 → 361,820.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,86 → 378,860.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,790.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,860.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 366,810.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 368,830.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 363,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 365,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 367,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,86 → 361,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,79 → 379,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,81 → 379,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,82 → 380,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,83 → 378,830.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,85 → 359,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 376,750.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 377,760.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,770.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 378,780.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,78 → 363,790.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,80 → 361,800.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,800.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,81 → 362,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 377,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,82 → 366,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,82 → 378,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,83 → 360,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,85 → 361,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 377,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,85 → 367,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,86 → 368,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,86 → 369,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,77 → 377,770.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,78 → 364,780.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,78 → 378,780.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,79 → 363,790.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-effects.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x effects interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.09% (892 px) interactions-cartesian-text-advanced-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.05%extra 0.000297%ΔE 1.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for text-advanced and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (58 total; showing 58 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2773928,61 → 413,94201total 0.10% · largest 0.03% · max ΔE 1.6
Missing3015229,62 → 384,9310total 0.02% · largest 0.001292%
Extra1128,75 → 28,751total 0.000129% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage202,61 → 231,640.03ΔE 1.1 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage49,76 → 71,790.02ΔE 1.1 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage28,75 → 41,770.01ΔE 1.1 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,90 → 376,920.007750ΔE 1.1 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage42,76 → 48,770.005813ΔE 1.1 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage208,92 → 216,930.004650ΔE 1.1 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage189,63 → 193,640.003875ΔE 1.6 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage201,92 → 208,920.003617ΔE 1.1 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage216,92 → 220,940.003229ΔE 1.1 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,92 → 384,930.003100ΔE 1.1 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage198,91 → 200,920.001550ΔE 1.1 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
Missing382,92 → 384,930.001292candidate lacks paint present in reference (0.001292%)
AntialiasCoverage49,74 → 49,760.001033ΔRGB(0,-31,-24)antialiasing coverage residue on a shared outline
Missing364,91 → 366,910.000904candidate lacks paint present in reference (0.000904%)
Missing372,92 → 373,920.000904candidate lacks paint present in reference (0.000904%)
Missing379,92 → 381,920.000904candidate lacks paint present in reference (0.000904%)
Missing29,76 → 30,760.000775candidate lacks paint present in reference (0.000775%)
Missing36,76 → 38,760.000775candidate lacks paint present in reference (0.000775%)
Missing44,77 → 45,770.000775candidate lacks paint present in reference (0.000775%)
Missing47,77 → 49,770.000775candidate lacks paint present in reference (0.000775%)
Missing51,77 → 52,770.000775candidate lacks paint present in reference (0.000775%)
Missing54,78 → 56,780.000775candidate lacks paint present in reference (0.000775%)
Missing62,78 → 63,780.000775candidate lacks paint present in reference (0.000775%)
Missing368,92 → 370,920.000775candidate lacks paint present in reference (0.000775%)
Missing375,92 → 377,920.000775candidate lacks paint present in reference (0.000775%)
Missing33,76 → 34,760.000646candidate lacks paint present in reference (0.000646%)
Missing40,76 → 41,760.000646candidate lacks paint present in reference (0.000646%)
Missing58,78 → 60,780.000646candidate lacks paint present in reference (0.000646%)
Missing66,79 → 67,790.000646candidate lacks paint present in reference (0.000646%)
Missing69,79 → 70,790.000646candidate lacks paint present in reference (0.000646%)
Missing199,92 → 200,920.000646candidate lacks paint present in reference (0.000646%)
Missing203,92 → 204,920.000646candidate lacks paint present in reference (0.000646%)
Missing206,92 → 208,920.000646candidate lacks paint present in reference (0.000646%)
Missing210,92 → 211,920.000646candidate lacks paint present in reference (0.000646%)
Missing214,93 → 215,930.000646candidate lacks paint present in reference (0.000646%)
Missing217,93 → 219,930.000646candidate lacks paint present in reference (0.000646%)
Missing230,62 → 230,630.000388candidate lacks paint present in reference (0.000388%)
Missing220,92 → 220,920.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage200,64 → 201,640.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,89 → 373,900.000388ΔRGB(1,-12,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage208,91 → 208,920.000388ΔRGB(-2,-31,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage384,91 → 384,910.000388ΔRGB(-6,-2,0)antialiasing coverage residue on a shared outline
AntialiasCoverage385,91 → 385,920.000388ΔE 0.5 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
Missing50,77 → 50,770.000258candidate lacks paint present in reference (0.000258%)
Missing220,92 → 220,920.000258candidate lacks paint present in reference (0.000258%)
AntialiasCoverage385,92 → 385,930.000258ΔE 0.8 ΔRGB(-2,-1,0)antialiasing coverage residue on a shared outline
Missing231,62 → 231,620.000129candidate lacks paint present in reference (0.000129%)
Missing231,64 → 231,640.000129candidate lacks paint present in reference (0.000129%)
Extra28,75 → 28,750.000129candidate adds paint absent from reference (0.000129%)
AntialiasCoverage70,78 → 70,780.000129ΔRGB(1,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage209,89 → 209,890.000129ΔRGB(0,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage384,90 → 384,900.000129ΔRGB(-1,25,21)antialiasing coverage residue on a shared outline
AntialiasCoverage220,91 → 220,910.000129ΔRGB(-1,20,16)antialiasing coverage residue on a shared outline
AntialiasCoverage220,92 → 220,920.000129ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage219,92 → 219,920.000129ΔRGB(1,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage384,93 → 384,930.000129ΔE 1.6 ΔRGB(6,2,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-text-advanced-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>text-advanced x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-text-advanced f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.08% · raw 0.08% (856 px) interactions-cartesian-effects-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 12.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (8 total; showing 8 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr8856181,36 → 408,86381total 0.1% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage242,75 → 246,860.01ΔRGB(24,25,25)antialiasing coverage residue on a shared outline
AntialiasCoverage237,75 → 238,860.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage242,81 → 244,850.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 244,800.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage239,81 → 239,850.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
AntialiasCoverage239,76 → 239,800.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.08% (837 px) interactions-cartesian-block-box-model-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.006577%extra 0.001495%ΔE 1.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (15 total; showing 15 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr681025,62 → 395,97280total 0.1% · largest 0.04% · max ΔE 3.5
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing82266,63 → 382,974total 0.002842% · largest 0.000517%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,80 → 67,820.04ΔE 1.1 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.6 ΔRGB(2,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,95 → 218,970.01ΔE 3.5 ΔRGB(-13,-5,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing381,91 → 382,910.000517candidate lacks paint present in reference (0.000517%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing66,80 → 67,800.000388candidate lacks paint present in reference (0.000388%)
Missing217,95 → 218,950.000388candidate lacks paint present in reference (0.000388%)
Missing196,96 → 196,970.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage66,80 → 67,800.000388ΔE 0.4 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
Missing371,93 → 371,930.000129candidate lacks paint present in reference (0.000129%)
Missing382,93 → 382,930.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-block-box-model-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.08% · raw 0.08% (304 px) interactions-cartesian-images-replaced-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 35.3
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and images-replaced: the images-replaced representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr330475,41 → 109,65152total 0.08% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage109,41 → 109,650.04ΔRGB(-4,-27,-69)antialiasing coverage residue on a shared outline
AntialiasCoverage75,41 → 75,650.02ΔRGB(131,140,147)antialiasing coverage residue on a shared outline
AntialiasCoverage89,41 → 89,650.02ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-page-margins.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x page-margins interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-images-replaced {}
90  .f-page-margins {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-images-replaced f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.08% (284 px) interactions-cartesian-paged-media-x-text-advanced · same-element-and-bidirectional-nesting · 4 pagesPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.005672%ΔE 1.6
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for paged-media and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Missing3525,76 → 67,783total 0.002005% · largest 0.001203%
ColorErr227925,76 → 67,78277total 0.1% · largest 0.1% · max ΔE 1.6

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,76 → 67,780.1ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
Missing66,76 → 67,760.001203candidate lacks paint present in reference (0.001203%)
AntialiasCoverage25,77 → 25,770.000802ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
Missing25,78 → 25,780.000401candidate lacks paint present in reference (0.000401%)
Missing46,78 → 46,780.000401candidate lacks paint present in reference (0.000401%)
source · cases/interactions/interactions-cartesian-paged-media-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>paged-media x text-advanced interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-paged-media {break-before:page;break-inside:avoid;}
65  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-paged-media f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.07% (277 px) interactions-cartesian-page-margins-x-selectors-cascade · physical-page-context-and-nested-feature-depths · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 12.5
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 3: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Physical-page-context interaction for page-margins and selectors-cascade: the selectors-cascade representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr227732,16 → 184,104276total 0.07% · largest 0.07%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage32,16 → 32,1040.07ΔRGB(32,0,7)antialiasing coverage residue on a shared outline
AntialiasCoverage184,16 → 184,160.000267ΔRGB(4,0,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-page-margins-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>page-margins x selectors-cascade interaction</title>
6<style>
7  @page {
8    size: 192px 200px;
9    margin: 16px;
10    background: #ffd6d6;
11  }
12  @page :left { margin: 8px 32px 24px 8px; }
13  @page :right { margin: 16px 8px 8px 32px; }
14  @page :first { margin: 32px 8px 16px 24px; }
15
16  @font-face {
17    font-family: MatrixSans;
18    src: url('../../fonts/ParitySans.ttf') format('truetype');
19    font-style: normal;
20    font-weight: 400;
21  }
22  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
23  * { box-sizing: border-box; margin: 0; }
24  html, body { background: #ffffff; }
25  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
26  .stage {
27    display: inline-flex;
28    width: 156px;
29    min-height: 164px;
30    margin-right: 8px;
31    align-items: center;
32    justify-content: center;
33    background: #f7fafc;
34    border: 1px solid #cbd5e1;
35    font-size: 16px;
36    vertical-align: top;
37  }
38  .stage:last-child { margin-right: 0; }
39  .node {
40    width: 126px;
41    padding: 7px;
42    border: 2px solid #577590;
43    background-color: #e7f5ff;
44    color: #17324d;
45  }
46  .node.inner {
47    width: 58px;
48    height: 48px;
49    padding: 5px;
50  }
51  .node.outer { min-height: 96px; }
52  .own { height: 22px; white-space: nowrap; }
53  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
54  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
55  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
56  .f-images-replaced > .own > .asset { display: inline-block; }
57  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
58  .f-lists-counters > .own > .token { counter-increment: pair-item; }
59  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
60  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
61  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
62  @supports (display:grid) {
63    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
64  }
65  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
66
67  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
68  .stage { display: block; margin: 0; break-before: page; }
69  .stage > .node { min-height: 68px; margin: 47px auto 0; }
70  .stage > .node.outer { margin-top: 33px; }
71
72  /* The three compositions occupy first/right, left, and later-right pages.
73     Their asymmetric page areas expose side selection, cascade, content
74     origin, bottom capacity, and paint that crosses a page-area edge.
75     Horizontal body padding is a distinct root-flow gutter: each stage
76     deliberately shifts through it to the physical page-area start edge. */
77  body { padding-left: 8px; padding-right: 8px; }
78  .stage {
79    width: 152px;
80    height: 128px;
81    min-height: 128px;
82    margin-left: -8px;
83    border: 0;
84    background: #d8f3dc;
85  }
86  .node { width: 100%; }
87  .stage > .node,
88  .stage > .node.outer { margin: 0; }
89  .f-page-margins {}
90  .f-selectors-cascade {}
91</style>
92</head>
93<body>
94  <div class="stage"><div class="node  f-page-margins f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
95  <div class="stage"><div class="node outer f-page-margins"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
96  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-page-margins"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
97</body>
98</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.06% · raw 0.07% (739 px) interactions-cartesian-overflow-clipping-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.005084%extra 0.001816%ΔE 1.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for overflow-clipping and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (13 total; showing 13 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr672025,62 → 395,93281total 0.09% · largest 0.04% · max ΔE 1.9
Extra15395,62 → 395,645total 0.000646% · largest 0.000646%
Missing61466,63 → 382,935total 0.001808% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,81 → 67,830.04ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 382,930.02ΔE 1.7 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,92 → 360,930.000904ΔE 0.8 ΔRGB(-2,0,0)antialiasing coverage residue on a shared outline
Missing381,91 → 382,910.000646candidate lacks paint present in reference (0.000646%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing66,81 → 67,810.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage381,91 → 381,910.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
Missing360,93 → 360,930.000129candidate lacks paint present in reference (0.000129%)
Missing371,93 → 371,930.000129candidate lacks paint present in reference (0.000129%)
Missing382,93 → 382,930.000129candidate lacks paint present in reference (0.000129%)
source · cases/interactions/interactions-cartesian-overflow-clipping-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>overflow-clipping x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-overflow-clipping f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.07% (731 px) interactions-cartesian-effects-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 27.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (6 total; showing 6 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr673180,36 → 408,96381total 0.09% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage231,72 → 231,960.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage371,67 → 394,670.009171ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 370,670.006588ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.07% (693 px) interactions-cartesian-positioning-x-text-advanced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.006870%extra 0.002689%ΔE 1.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for positioning and text-advanced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (16 total; showing 16 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr766125,62 → 395,93268total 0.09% · largest 0.03% · max ΔE 1.9
Extra29371,62 → 395,925total 0.001163% · largest 0.000646%
Missing72345,63 → 371,935total 0.002971% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage353,63 → 395,640.03ΔE 1.9 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,91 → 218,930.02ΔE 1.6 ΔRGB(-3,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage25,76 → 46,780.02ΔE 1.6 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,91 → 371,930.01ΔE 1.6 ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage394,62 → 395,620.001033ΔE 1.9 ΔRGB(-4,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,92 → 207,920.000775ΔE 1.7 ΔRGB(5,3,0)antialiasing coverage residue on a shared outline
Missing196,92 → 196,930.000646candidate lacks paint present in reference (0.000646%)
Extra395,62 → 395,640.000646candidate adds paint absent from reference (0.000646%)
Missing360,92 → 360,930.000517candidate lacks paint present in reference (0.000517%)
Extra371,92 → 371,920.000517candidate adds paint absent from reference (0.000517%)
Missing353,63 → 353,640.000388candidate lacks paint present in reference (0.000388%)
Missing45,76 → 46,760.000388candidate lacks paint present in reference (0.000388%)
Missing217,91 → 218,910.000388candidate lacks paint present in reference (0.000388%)
Missing370,91 → 371,910.000388candidate lacks paint present in reference (0.000388%)
AntialiasCoverage196,92 → 196,920.000388ΔE 1.3 ΔRGB(4,2,0)antialiasing coverage residue on a shared outline
Missing207,93 → 207,930.000258candidate lacks paint present in reference (0.000258%)
source · cases/interactions/interactions-cartesian-positioning-x-text-advanced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>positioning x text-advanced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-positioning {position:relative;}
61  .f-text-advanced {text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#ef476f;text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:1px 1px 0 #fff;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-positioning f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-text-advanced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-text-advanced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.07% · raw 0.07% (665 px) interactions-cartesian-effects-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 7.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr3665139,36 → 409,109381total 0.09% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage359,109 → 409,1090.02ΔRGB(4,-10,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage139,61 → 139,1020.02ΔRGB(3,-4,-19)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.06% (649 px) interactions-cartesian-color-opacity-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 7.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (77 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr77649237,75 → 380,86104total 0.08% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage242,75 → 246,860.01ΔRGB(22,22,21)antialiasing coverage residue on a shared outline
AntialiasCoverage237,75 → 238,860.009559ΔRGB(-15,-15,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage242,81 → 244,850.005167ΔRGB(-24,-24,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage373,81 → 377,850.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 244,800.004650ΔRGB(-21,-20,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage373,76 → 376,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage239,81 → 239,850.003617ΔRGB(54,51,45)antialiasing coverage residue on a shared outline
AntialiasCoverage239,76 → 239,800.003100ΔRGB(52,48,45)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 367,840.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 366,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,75 → 375,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 365,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,75 → 379,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,780.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,77 → 379,780.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,81 → 361,820.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,86 → 378,860.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,790.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,860.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 366,810.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 368,830.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 363,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 365,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 367,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,86 → 361,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,79 → 379,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,81 → 379,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,82 → 380,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,83 → 378,830.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,85 → 359,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 376,750.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 377,760.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,770.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 378,780.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,78 → 363,790.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,80 → 361,800.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,800.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,81 → 362,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 377,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,82 → 366,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,82 → 378,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,83 → 360,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,85 → 361,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 377,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,85 → 367,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,86 → 368,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,86 → 369,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,77 → 377,770.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.06% · raw 0.06% (641 px) interactions-cartesian-grid-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 43.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for grid and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (15 total; showing 15 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr15641114,94 → 133,109146total 0.08% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage127,103 → 133,1090.02ΔRGB(-206,-193,-176)antialiasing coverage residue on a shared outline
AntialiasCoverage116,95 → 121,990.02ΔRGB(-204,-192,-175)antialiasing coverage residue on a shared outline
AntialiasCoverage116,100 → 122,1030.01ΔRGB(-138,-129,-118)antialiasing coverage residue on a shared outline
AntialiasCoverage129,98 → 132,1050.009430ΔRGB(-101,-96,-87)antialiasing coverage residue on a shared outline
AntialiasCoverage125,99 → 126,1040.005167ΔRGB(-113,-106,-97)antialiasing coverage residue on a shared outline
AntialiasCoverage122,103 → 124,1060.005038ΔRGB(-181,-170,-155)antialiasing coverage residue on a shared outline
AntialiasCoverage114,102 → 115,1060.004650ΔRGB(-188,-176,-161)antialiasing coverage residue on a shared outline
AntialiasCoverage132,97 → 133,990.003229ΔRGB(-72,-68,-62)antialiasing coverage residue on a shared outline
AntialiasCoverage128,97 → 131,980.002583ΔRGB(-85,-80,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage128,105 → 129,1060.001421ΔRGB(-87,-82,-74)antialiasing coverage residue on a shared outline
AntialiasCoverage121,99 → 122,1000.001163ΔRGB(-75,-70,-64)antialiasing coverage residue on a shared outline
AntialiasCoverage118,94 → 120,940.000904ΔRGB(-52,-49,-45)antialiasing coverage residue on a shared outline
AntialiasCoverage128,104 → 129,1040.000258ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage129,98 → 129,980.000129ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage122,100 → 122,1000.000129ΔRGB(-11,-10,-9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-grid-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>grid x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-grid f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.06% (638 px) interactions-cartesian-color-opacity-x-color-opacity · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and color-opacity: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (154 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr154638195,75 → 380,8636total 0.08% · largest 0.004650%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage207,75 → 207,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,76 → 212,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,76 → 376,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 211,850.002713ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,81 → 375,850.002713ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage197,84 → 203,840.002325ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 366,840.002325ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage198,82 → 202,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 366,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,75 → 211,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,75 → 375,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,81 → 212,810.001550ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage373,81 → 377,810.001550ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,75 → 201,760.001292ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 365,760.001292ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage213,75 → 214,760.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,75 → 379,760.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage200,76 → 200,780.001033ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,780.001033ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,86 → 214,860.000904ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,86 → 378,860.000904ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage197,81 → 197,820.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,81 → 361,820.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,76 → 199,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 363,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,77 → 215,770.000517ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,77 → 379,770.000517ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,78 → 198,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,78 → 201,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 365,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage203,80 → 203,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,81 → 204,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 367,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage204,82 → 204,830.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 368,830.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,84 → 215,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage205,84 → 205,850.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,850.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,86 → 197,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,86 → 361,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,79 → 198,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage215,79 → 215,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,79 → 379,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,81 → 215,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,81 → 379,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,82 → 215,830.000388ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,82 → 380,830.000388ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage204,84 → 204,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage213,84 → 214,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,84 → 203,840.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,84 → 367,840.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage215,85 → 215,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,85 → 212,850.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,85 → 377,850.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage195,85 → 195,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,85 → 359,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-color-opacity.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x color-opacity interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-color-opacity f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.06% · raw 0.06% (636 px) interactions-cartesian-multicol-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 37.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for multicol and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr4636274,50 → 440,84212total 0.08% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage437,50 → 438,840.03ΔRGB(-144,-128,-111)antialiasing coverage residue on a shared outline
AntialiasCoverage439,50 → 440,840.03ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
AntialiasCoverage274,50 → 274,840.01ΔRGB(-144,-128,-111)antialiasing coverage residue on a shared outline
AntialiasCoverage276,50 → 276,840.01ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-multicol-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>multicol x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-multicol f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.06% (571 px) interactions-cartesian-color-opacity-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (74 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr7457180,43 → 408,9676total 0.07% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,43)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(130,-76,137)antialiasing coverage residue on a shared outline
AntialiasCoverage231,72 → 231,960.009817ΔRGB(130,-76,137)antialiasing coverage residue on a shared outline
AntialiasCoverage373,81 → 377,850.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,76 → 376,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 367,840.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 366,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,75 → 375,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 365,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,75 → 379,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,780.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,77 → 379,780.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,81 → 361,820.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,86 → 378,860.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,790.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,860.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 366,810.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 368,830.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 363,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 365,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 367,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,86 → 361,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,79 → 379,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,81 → 379,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,82 → 380,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,83 → 378,830.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,85 → 359,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 376,750.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 377,760.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,770.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 378,780.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,78 → 363,790.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,80 → 361,800.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,800.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,81 → 362,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 377,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,82 → 366,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,82 → 378,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,83 → 360,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,85 → 361,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 377,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,85 → 367,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,86 → 368,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,86 → 369,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,77 → 377,770.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,78 → 364,780.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,78 → 378,780.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (558 px) interactions-cartesian-backgrounds-borders-x-effects · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and effects: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (10 total; showing 10 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1055817,36 → 467,110381total 0.07% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage345,36 → 467,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage191,68 → 245,680.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage20,55 → 20,550.000129ΔRGB(-2,1,8)antialiasing coverage residue on a shared outline
AntialiasCoverage136,55 → 136,550.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage20,109 → 20,1090.000129ΔRGB(0,0,2)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-effects.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x effects interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (550 px) interactions-cartesian-effects-x-flexbox · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2550181,36 → 457,60381total 0.07% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage403,60 → 457,600.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-flexbox.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x flexbox interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (550 px) interactions-cartesian-effects-x-grid · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2550181,36 → 458,60381total 0.07% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage404,60 → 458,600.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-grid.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x grid interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (550 px) interactions-cartesian-effects-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2550181,36 → 408,67381total 0.07% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (550 px) interactions-cartesian-effects-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2550181,36 → 408,67381total 0.07% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (550 px) interactions-cartesian-effects-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2550181,36 → 408,67381total 0.07% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage354,67 → 408,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (550 px) interactions-cartesian-effects-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2550181,36 → 399,67381total 0.07% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
AntialiasCoverage345,67 → 399,670.02ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (510 px) interactions-cartesian-generated-content-x-grid · same-element-and-bidirectional-nestingPASS via CSS-scale observation: balanced edge coverageColorValueΔE 51.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(-1,-2,-2) (ΔE 51.7)
Cartesian family interaction for generated-content and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr351025,63 → 29,100327total 0.07% · largest 0.04% · max ΔE 51.7

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue25,63 → 29,740.04ΔE 51.7 ΔRGB(-1,-4,-4)fill recolour ΔRGB(-1,-4,-4) (ΔE 51.7)
ColorValue25,91 → 29,1000.02ΔRGB(3,2,2)fill recolour ΔRGB(+3,+2,+2) (ΔE 0)
ColorValue25,93 → 27,980.008009ΔRGB(-3,-2,-2)fill recolour ΔRGB(-3,-2,-2) (ΔE 0)
source · cases/interactions/interactions-cartesian-generated-content-x-grid.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x grid interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (485 px) interactions-cartesian-overflow-clipping-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageExtraextra 0.2%ΔE 4.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw candidate adds paint absent from reference (0.2%)
Cartesian family interaction for overflow-clipping and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Extra247315,53 → 133,102345total 0.06% · largest 0.04%
ColorErr31215,53 → 138,10810total 0.001550% · largest 0.001292%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
Extra23,53 → 133,530.04candidate adds paint absent from reference (0.04%)
Extra15,61 → 15,1020.02candidate adds paint absent from reference (0.02%)
AntialiasCoverage137,107 → 138,1080.001292ΔRGB(12,-7,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage133,53 → 133,530.000129ΔRGB(-7,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage15,102 → 15,1020.000129ΔRGB(-4,-1,-2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-overflow-clipping-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>overflow-clipping x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-overflow-clipping f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.05% · raw 0.05% (475 px) interactions-cartesian-effects-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: coherent sub-authored colour frontierAntialiasCoverageΔE 9.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (18 total; showing 18 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr18475139,36 → 413,121381total 0.06% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
ColorValue412,82 → 412,840.000904ΔRGB(4,-6,-30)fill recolour ΔRGB(+4,-6,-30) (ΔE 0)
ColorValue411,89 → 411,910.000904ΔRGB(4,-6,-30)fill recolour ΔRGB(+4,-6,-30) (ΔE 0)
ColorValue141,98 → 141,1000.000904ΔRGB(4,-6,-30)fill recolour ΔRGB(+4,-6,-30) (ΔE 0)
ColorValue140,106 → 140,1080.000904ΔRGB(4,-6,-30)fill recolour ΔRGB(+4,-6,-30) (ΔE 0)
ColorValue144,62 → 144,630.000775ΔRGB(8,-5,-22)fill recolour ΔRGB(+8,-5,-22) (ΔE 0)
ColorValue143,69 → 143,710.000775ΔRGB(9,-5,-22)fill recolour ΔRGB(+9,-5,-22) (ΔE 0)
ColorValue412,75 → 412,760.000775ΔRGB(7,-4,-19)fill recolour ΔRGB(+7,-4,-19) (ΔE 0)
ColorValue143,76 → 143,780.000775ΔRGB(8,-4,-19)fill recolour ΔRGB(+8,-4,-19) (ΔE 0)
ColorValue142,84 → 142,850.000775ΔRGB(8,-4,-19)fill recolour ΔRGB(+8,-4,-19) (ΔE 0)
ColorValue141,91 → 141,930.000775ΔRGB(7,-4,-19)fill recolour ΔRGB(+7,-4,-19) (ΔE 0)
ColorValue410,96 → 410,980.000775ΔRGB(8,-8,-32)fill recolour ΔRGB(+8,-8,-32) (ΔE 0)
ColorValue410,104 → 410,1050.000775ΔRGB(8,-5,-22)fill recolour ΔRGB(+8,-5,-22) (ΔE 0)
ColorValue409,111 → 409,1130.000775ΔRGB(8,-4,-19)fill recolour ΔRGB(+8,-4,-19) (ΔE 0)
ColorValue140,113 → 140,1150.000775ΔRGB(8,-8,-32)fill recolour ΔRGB(+8,-8,-32) (ΔE 0)
ColorValue139,120 → 139,1210.000517ΔRGB(9,-12,-51)fill recolour ΔRGB(+9,-12,-51) (ΔE 0)
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,9,7)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.05% (458 px) interactions-cartesian-images-replaced-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 36.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (8 total; showing 8 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr8458111,43 → 246,86104total 0.06% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage242,75 → 246,860.01ΔRGB(24,25,25)antialiasing coverage residue on a shared outline
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage111,57 → 111,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage237,75 → 238,860.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage242,81 → 244,850.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 244,800.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage239,81 → 239,850.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
AntialiasCoverage239,76 → 239,800.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (424 px) interactions-cartesian-grid-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 37.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for grid and multicol: both representatives compose on one element and in both outer/inner orders. The standards-derived reference suppresses Chromium's rule beside an empty actual column, forces the CSS Multicol boundary Chromium misses, and corrects its print-only half-pixel second-fragment decoration snap while retaining Chromium's live text geometry.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr3424410,43 → 466,91150total 0.05% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage410,43 → 410,910.02ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
AntialiasCoverage412,45 → 412,890.02ΔRGB(-144,-128,-111)antialiasing coverage residue on a shared outline
AntialiasCoverage466,45 → 466,890.02ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-grid-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>grid x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-grid f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (418 px) interactions-cartesian-multicol-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 37.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for multicol and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr341877,57 → 371,107156total 0.05% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage77,57 → 77,1070.02ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
AntialiasCoverage79,57 → 79,1070.02ΔRGB(-144,-128,-111)antialiasing coverage residue on a shared outline
AntialiasCoverage371,72 → 371,1060.01ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-multicol-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>multicol x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-multicol f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (381 px) interactions-cartesian-block-box-model-x-effects · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and effects: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1381345,36 → 467,36381total 0.05% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage345,36 → 467,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-effects.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x effects interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (381 px) interactions-cartesian-effects-x-generated-content · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1381181,36 → 303,36381total 0.05% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-generated-content.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x generated-content interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-generated-content {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (381 px) interactions-cartesian-effects-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1381181,36 → 303,36381total 0.05% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (381 px) interactions-cartesian-effects-x-tables · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 8.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for effects and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1381181,36 → 303,36381total 0.05% · largest 0.05%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage181,36 → 303,360.05ΔRGB(9,-12,-53)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-effects-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>effects x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-effects {box-shadow:7px 5px 0 rgba(239,71,111,.35),inset 0 0 0 2px #ffd166;}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-effects f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-effects"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-effects"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (380 px) interactions-cartesian-images-replaced-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr338088,43 → 399,96228total 0.05% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage88,57 → 89,810.03ΔRGB(190,110,30)antialiasing coverage residue on a shared outline
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage399,72 → 399,960.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (374 px) interactions-cartesian-clip-mask-x-generated-content · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-outline coverageAntialiasCoveragemissing 0.009646%ΔE 3.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (69 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr63344192,84 → 410,132126total 0.04% · largest 0.02% · max ΔE 3.9
Missing630385,130 → 402,1325total 0.003875% · largest 0.000646%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage355,84 → 385,860.02ΔE 3.9 ΔRGB(-51,-46,-40)antialiasing coverage residue on a shared outline
AntialiasCoverage367,128 → 386,1300.01ΔRGB(-51,-45,-39)antialiasing coverage residue on a shared outline
AntialiasCoverage352,126 → 354,1260.001163ΔRGB(50,44,38)antialiasing coverage residue on a shared outline
AntialiasCoverage387,130 → 389,1300.001163ΔRGB(85,70,56)antialiasing coverage residue on a shared outline
AntialiasCoverage393,131 → 395,1310.001163ΔRGB(85,70,56)antialiasing coverage residue on a shared outline
AntialiasCoverage399,131 → 401,1320.001163ΔRGB(85,70,56)antialiasing coverage residue on a shared outline
AntialiasCoverage390,130 → 392,1300.001033ΔRGB(98,81,65)antialiasing coverage residue on a shared outline
AntialiasCoverage396,131 → 398,1310.001033ΔRGB(88,74,62)antialiasing coverage residue on a shared outline
AntialiasCoverage402,132 → 404,1320.001033ΔRGB(88,74,62)antialiasing coverage residue on a shared outline
AntialiasCoverage408,88 → 410,880.000775ΔRGB(-93,-82,-71)antialiasing coverage residue on a shared outline
Missing385,130 → 386,1300.000646candidate lacks paint present in reference (0.000646%)
Missing388,130 → 389,1300.000646candidate lacks paint present in reference (0.000646%)
Missing391,131 → 392,1310.000646candidate lacks paint present in reference (0.000646%)
Missing394,131 → 396,1310.000646candidate lacks paint present in reference (0.000646%)
Missing397,131 → 398,1310.000646candidate lacks paint present in reference (0.000646%)
Missing400,132 → 402,1320.000646candidate lacks paint present in reference (0.000646%)
AntialiasCoverage409,94 → 409,940.000258ΔRGB(13,12,10)antialiasing coverage residue on a shared outline
AntialiasCoverage409,95 → 409,950.000258ΔRGB(21,18,15)antialiasing coverage residue on a shared outline
AntialiasCoverage354,99 → 354,1000.000258ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage409,100 → 409,1000.000258ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage409,101 → 409,1010.000258ΔRGB(7,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage353,103 → 353,1030.000258ΔRGB(-7,-6,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage353,105 → 353,1050.000258ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage409,105 → 409,1050.000258ΔRGB(12,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage408,106 → 408,1060.000258ΔRGB(13,12,10)antialiasing coverage residue on a shared outline
AntialiasCoverage353,108 → 353,1090.000258ΔRGB(-7,-6,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage408,111 → 408,1110.000258ΔRGB(22,20,18)antialiasing coverage residue on a shared outline
AntialiasCoverage353,112 → 353,1120.000258ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage408,112 → 408,1120.000258ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage353,116 → 353,1160.000258ΔRGB(-13,-12,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage352,121 → 352,1220.000258ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage352,125 → 352,1250.000258ΔRGB(-12,-10,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage407,129 → 407,1300.000258ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage406,130 → 406,1310.000258ΔRGB(26,22,19)antialiasing coverage residue on a shared outline
AntialiasCoverage355,84 → 355,840.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage355,85 → 355,850.000129ΔRGB(-17,-16,-14)antialiasing coverage residue on a shared outline
AntialiasCoverage410,90 → 410,900.000129ΔRGB(51,46,40)antialiasing coverage residue on a shared outline
AntialiasCoverage409,96 → 409,960.000129ΔRGB(15,13,12)antialiasing coverage residue on a shared outline
AntialiasCoverage409,97 → 409,970.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage409,98 → 409,980.000129ΔRGB(38,34,29)antialiasing coverage residue on a shared outline
AntialiasCoverage354,98 → 354,980.000129ΔE 2.5 ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage409,99 → 409,990.000129ΔRGB(22,20,18)antialiasing coverage residue on a shared outline
AntialiasCoverage354,100 → 354,1000.000129ΔRGB(-21,-18,-16)antialiasing coverage residue on a shared outline
AntialiasCoverage354,102 → 354,1020.000129ΔRGB(-25,-23,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage409,102 → 409,1020.000129ΔRGB(25,21,18)antialiasing coverage residue on a shared outline
AntialiasCoverage409,103 → 409,1030.000129ΔRGB(21,18,16)antialiasing coverage residue on a shared outline
AntialiasCoverage353,104 → 353,1040.000129ΔRGB(-16,-15,-13)antialiasing coverage residue on a shared outline
AntialiasCoverage409,104 → 409,1040.000129ΔRGB(17,16,14)antialiasing coverage residue on a shared outline
AntialiasCoverage353,106 → 353,1060.000129ΔRGB(-25,-21,-18)antialiasing coverage residue on a shared outline
AntialiasCoverage408,107 → 408,1070.000129ΔRGB(21,18,15)antialiasing coverage residue on a shared outline
AntialiasCoverage353,108 → 353,1080.000129ΔRGB(-16,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage408,108 → 408,1080.000129ΔRGB(23,21,19)antialiasing coverage residue on a shared outline
AntialiasCoverage408,109 → 408,1090.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage353,110 → 353,1100.000129ΔRGB(-21,-18,-15)antialiasing coverage residue on a shared outline
AntialiasCoverage408,110 → 408,1100.000129ΔRGB(25,23,20)antialiasing coverage residue on a shared outline
AntialiasCoverage353,111 → 353,1110.000129ΔRGB(-25,-23,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage353,113 → 353,1130.000129ΔRGB(-23,-21,-19)antialiasing coverage residue on a shared outline
AntialiasCoverage408,113 → 408,1130.000129ΔE 1.4 ΔRGB(7,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage353,115 → 353,1150.000129ΔRGB(-22,-20,-18)antialiasing coverage residue on a shared outline
AntialiasCoverage352,117 → 352,1170.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage352,118 → 352,1180.000129ΔRGB(-17,-16,-14)antialiasing coverage residue on a shared outline
AntialiasCoverage352,119 → 352,1190.000129ΔRGB(-21,-18,-15)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage352,120 → 352,1200.000129ΔRGB(-25,-22,-19)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-generated-content.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x generated-content interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-generated-content {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.04% (362 px) interactions-cartesian-lists-counters-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 21.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (10 total; showing 10 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1036263,56 → 401,86104total 0.05% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage397,75 → 401,860.01ΔRGB(30,30,27)antialiasing coverage residue on a shared outline
AntialiasCoverage393,75 → 393,860.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage397,81 → 400,850.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage397,76 → 399,800.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage394,81 → 395,850.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
AntialiasCoverage394,76 → 395,800.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
AntialiasCoverage63,69 → 63,710.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage65,69 → 65,710.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.04% (357 px) interactions-cartesian-block-box-model-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 24.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr235733,67 → 41,79254total 0.05% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage33,67 → 41,790.03ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage35,68 → 40,750.01ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (347 px) interactions-cartesian-lists-counters-x-tables · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 27.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (9 total; showing 9 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr9347236,56 → 402,9084total 0.04% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage377,78 → 382,900.01ΔRGB(-86,-81,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage383,78 → 388,900.01ΔRGB(90,84,77)antialiasing coverage residue on a shared outline
AntialiasCoverage380,80 → 385,850.01ΔRGB(4,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage385,87 → 386,900.002971ΔRGB(-76,-71,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage379,87 → 380,900.002713ΔRGB(95,89,81)antialiasing coverage residue on a shared outline
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
AntialiasCoverage400,88 → 400,900.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage401,88 → 402,900.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (343 px) interactions-cartesian-block-box-model-x-color-opacity · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and color-opacity: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr71343195,79 → 215,9138total 0.04% · largest 0.004909%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage209,85 → 212,890.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage207,79 → 207,910.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage209,80 → 212,840.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage197,88 → 203,890.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage198,86 → 202,860.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage207,79 → 211,790.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,79 → 201,800.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,79 → 214,800.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage200,81 → 200,820.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,81 → 215,830.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,85 → 197,860.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,90 → 214,910.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage202,82 → 203,830.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage205,89 → 205,900.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage202,84 → 202,850.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,86 → 204,870.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,80 → 199,810.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,82 → 198,830.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,82 → 201,830.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage203,84 → 203,840.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,85 → 204,860.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage215,88 → 215,890.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,90 → 197,910.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,83 → 198,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage215,83 → 215,840.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,83 → 213,840.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,85 → 215,850.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,86 → 215,870.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,87 → 214,870.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage204,88 → 204,880.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage213,88 → 214,880.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage215,89 → 215,890.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage195,90 → 195,900.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,79 → 212,790.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,80 → 201,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage202,80 → 202,810.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage212,81 → 213,810.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage202,81 → 202,810.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage213,82 → 213,820.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,83 → 199,830.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage197,84 → 197,840.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,84 → 199,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage214,84 → 214,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage199,84 → 199,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,84 → 213,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage198,85 → 198,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,85 → 213,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage202,86 → 202,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,86 → 213,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,87 → 196,880.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage196,88 → 196,890.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage197,89 → 197,890.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,89 → 213,890.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage203,89 → 204,890.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage214,90 → 214,900.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage204,90 → 204,910.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage205,90 → 205,910.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,81 → 213,810.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage201,82 → 201,820.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage213,83 → 213,830.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage213,83 → 213,830.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage199,83 → 199,830.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage201,84 → 201,840.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage212,84 → 212,840.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-color-opacity.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x color-opacity interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-color-opacity {color:#5a189a;opacity:.76;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (343 px) interactions-cartesian-color-opacity-x-generated-content · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr71343359,94 → 380,10638total 0.04% · largest 0.004909%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage373,100 → 377,1040.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,94 → 371,1060.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,95 → 376,990.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,103 → 367,1040.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,101 → 366,1010.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,94 → 375,940.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,94 → 365,950.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,94 → 379,950.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,96 → 364,970.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,96 → 379,980.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,100 → 361,1010.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,105 → 378,1060.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,97 → 366,980.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,104 → 369,1050.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,99 → 366,1000.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,101 → 368,1020.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,95 → 363,960.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,97 → 362,980.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,97 → 365,980.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,99 → 367,1000.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,100 → 367,1010.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,103 → 380,1040.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,105 → 361,1060.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,98 → 362,990.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,98 → 379,990.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,98 → 377,990.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,100 → 379,1000.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,101 → 380,1020.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,102 → 378,1020.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,103 → 368,1030.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,103 → 378,1030.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,104 → 379,1040.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,105 → 359,1050.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,94 → 376,940.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,95 → 365,950.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,95 → 365,960.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,96 → 377,960.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,96 → 366,960.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,97 → 378,970.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,98 → 363,980.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,99 → 361,990.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,99 → 363,990.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,99 → 378,990.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,100 → 363,1000.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,100 → 378,1000.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,100 → 362,1010.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,100 → 377,1000.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,101 → 366,1010.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,101 → 378,1010.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,102 → 360,1030.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,103 → 360,1040.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,104 → 361,1040.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,104 → 377,1040.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,104 → 367,1040.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,105 → 379,1050.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,105 → 368,1060.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,105 → 369,1060.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,96 → 377,960.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,97 → 364,970.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,98 → 378,980.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,98 → 377,980.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,98 → 363,980.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,99 → 365,990.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,99 → 376,990.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-generated-content.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x generated-content interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-generated-content {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (343 px) interactions-cartesian-color-opacity-x-multicol · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr71343416,53 → 437,6538total 0.04% · largest 0.004909%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage430,59 → 434,630.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage428,53 → 428,650.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage430,54 → 434,580.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage419,62 → 425,630.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage420,60 → 424,600.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage429,53 → 432,530.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage420,53 → 422,540.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage434,53 → 436,540.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage421,55 → 422,560.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage436,55 → 436,570.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage418,59 → 419,600.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage434,64 → 436,650.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage424,56 → 424,570.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage426,63 → 427,640.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage423,58 → 423,590.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage425,60 → 426,610.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage420,54 → 420,550.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage420,56 → 420,570.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage422,56 → 422,570.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage424,58 → 425,590.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage425,59 → 425,600.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage437,62 → 437,630.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage418,64 → 418,650.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage419,57 → 419,580.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage436,57 → 436,580.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage434,57 → 434,580.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage436,59 → 436,600.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage437,60 → 437,610.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage435,61 → 435,610.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage426,62 → 426,620.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage435,62 → 435,620.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage436,63 → 436,630.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage417,64 → 417,640.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage433,53 → 433,530.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage423,54 → 423,540.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage423,54 → 423,550.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage434,55 → 434,550.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage423,55 → 423,550.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage435,56 → 435,560.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage421,57 → 421,570.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage419,58 → 419,580.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage420,58 → 420,580.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage436,58 → 436,580.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage420,59 → 420,590.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage435,59 → 435,590.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage420,60 → 420,600.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage434,60 → 435,600.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage423,60 → 424,600.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage435,60 → 435,600.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage418,61 → 418,620.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage417,62 → 417,630.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage419,63 → 419,630.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage434,63 → 435,630.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage425,63 → 425,630.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage436,64 → 436,640.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage425,64 → 425,650.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage427,64 → 427,650.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage435,55 → 435,550.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage422,56 → 422,560.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage435,57 → 435,570.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage435,57 → 435,570.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage420,57 → 420,570.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage423,58 → 423,580.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage433,58 → 433,580.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (343 px) interactions-cartesian-color-opacity-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr71343359,94 → 380,10638total 0.04% · largest 0.004909%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage373,100 → 377,1040.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,94 → 371,1060.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,95 → 376,990.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,103 → 367,1040.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,101 → 366,1010.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,94 → 375,940.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,94 → 365,950.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,94 → 379,950.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,96 → 364,970.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,96 → 379,980.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,100 → 361,1010.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,105 → 378,1060.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,97 → 366,980.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,104 → 369,1050.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,99 → 366,1000.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,101 → 368,1020.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,95 → 363,960.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,97 → 362,980.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,97 → 365,980.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,99 → 367,1000.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,100 → 367,1010.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,103 → 380,1040.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,105 → 361,1060.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,98 → 362,990.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,98 → 379,990.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,98 → 377,990.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,100 → 379,1000.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,101 → 380,1020.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,102 → 378,1020.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,103 → 368,1030.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,103 → 378,1030.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,104 → 379,1040.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,105 → 359,1050.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,94 → 376,940.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,95 → 365,950.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,95 → 365,960.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,96 → 377,960.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,96 → 366,960.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,97 → 378,970.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,98 → 363,980.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,99 → 361,990.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,99 → 363,990.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,99 → 378,990.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,100 → 363,1000.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,100 → 378,1000.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,100 → 362,1010.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,100 → 377,1000.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,101 → 366,1010.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,101 → 378,1010.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,102 → 360,1030.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,103 → 360,1040.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,104 → 361,1040.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,104 → 377,1040.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,104 → 367,1040.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,105 → 379,1050.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,105 → 368,1060.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,105 → 369,1060.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,96 → 377,960.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,97 → 364,970.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,98 → 378,980.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,98 → 377,980.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,98 → 363,980.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,99 → 365,990.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,99 → 376,990.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (343 px) interactions-cartesian-color-opacity-x-positioning · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr71343359,75 → 380,8638total 0.04% · largest 0.004909%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage373,81 → 377,850.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,76 → 376,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 367,840.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 366,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,75 → 375,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 365,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,75 → 379,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,780.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,77 → 379,780.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,81 → 361,820.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,86 → 378,860.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,790.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,860.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 366,810.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 368,830.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 363,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 365,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 367,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,86 → 361,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,79 → 379,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,81 → 379,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,82 → 380,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,83 → 378,830.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,85 → 359,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 376,750.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 377,760.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,770.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 378,780.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,78 → 363,790.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,80 → 361,800.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,800.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,81 → 362,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 377,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,82 → 366,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,82 → 378,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,83 → 360,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,85 → 361,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 377,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,85 → 367,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,86 → 368,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,86 → 369,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,77 → 377,770.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,78 → 364,780.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,78 → 378,780.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,79 → 363,790.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 365,800.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 376,800.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (343 px) interactions-cartesian-color-opacity-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr71343359,75 → 380,8638total 0.04% · largest 0.004909%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage373,81 → 377,850.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,75 → 371,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage373,76 → 376,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,84 → 367,840.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,82 → 366,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,75 → 375,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 365,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,75 → 379,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,780.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,77 → 379,780.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,81 → 361,820.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,86 → 378,860.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,790.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,860.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 366,810.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,82 → 368,830.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,76 → 363,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 365,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,81 → 367,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,86 → 361,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage379,79 → 379,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,81 → 379,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,82 → 380,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,83 → 378,830.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,84 → 368,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,84 → 378,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage359,85 → 359,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 376,750.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,76 → 365,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 377,760.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,770.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 378,780.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,78 → 363,790.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,80 → 361,800.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,800.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage378,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,80 → 363,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,80 → 378,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,81 → 362,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 377,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,82 → 366,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,82 → 378,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,83 → 360,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,85 → 361,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 377,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,85 → 367,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,85 → 379,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,86 → 368,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,86 → 369,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,77 → 377,770.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,78 → 364,780.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,78 → 378,780.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,79 → 363,790.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 365,800.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,80 → 376,800.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (343 px) interactions-cartesian-color-opacity-x-units-values · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (71 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr71343350,75 → 371,8638total 0.04% · largest 0.004909%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage364,81 → 368,850.004909ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,75 → 362,860.004650ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 367,800.003875ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,84 → 358,840.002971ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage354,82 → 357,820.001679ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,75 → 366,750.001550ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage354,75 → 356,760.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,75 → 370,760.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage355,76 → 356,780.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,77 → 370,780.000904ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,81 → 352,820.000904ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,86 → 369,860.000904ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage357,77 → 358,790.000775ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,860.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage357,80 → 357,810.000646ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,82 → 359,830.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage354,76 → 354,770.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage353,78 → 354,780.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage356,78 → 356,790.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage358,80 → 358,800.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage358,81 → 359,820.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,84 → 371,840.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage352,86 → 352,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage353,79 → 353,790.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage370,79 → 370,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,79 → 368,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,81 → 370,810.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,82 → 371,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,83 → 369,830.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,84 → 360,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,84 → 369,840.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,85 → 370,850.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage350,85 → 350,860.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,75 → 367,750.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage356,76 → 356,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage357,76 → 357,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,76 → 368,760.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage357,77 → 357,770.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,77 → 369,780.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage355,78 → 355,790.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage353,80 → 353,800.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage354,80 → 354,800.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,80 → 369,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage354,80 → 354,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,80 → 369,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage354,81 → 354,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,81 → 368,810.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage357,82 → 357,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,82 → 369,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage351,83 → 351,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage351,84 → 351,840.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage352,85 → 352,850.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,85 → 368,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage358,85 → 359,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,85 → 370,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,86 → 359,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,86 → 361,860.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,77 → 368,770.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage356,78 → 356,780.000129ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,78 → 369,780.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,79 → 368,790.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage354,79 → 354,790.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage356,80 → 356,800.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,80 → 367,800.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (334 px) interactions-cartesian-flexbox-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr5334240,67 → 413,86240total 0.04% · largest 0.03%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage247,67 → 258,790.03ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage250,69 → 255,750.01ΔRGB(-11,-10,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage240,76 → 240,760.000129ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (334 px) interactions-cartesian-lists-counters-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 20.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (8 total; showing 8 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr8334236,56 → 246,86104total 0.04% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage242,75 → 246,860.01ΔRGB(24,25,25)antialiasing coverage residue on a shared outline
AntialiasCoverage237,75 → 238,860.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage242,81 → 244,850.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 244,800.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage239,81 → 239,850.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
AntialiasCoverage239,76 → 239,800.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-lists-counters f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (333 px) interactions-cartesian-generated-content-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: balanced edge coverageColorValueΔE 33.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(+3,+2,+2) (ΔE 33.7)
Cartesian family interaction for generated-content and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr233382,63 → 218,91327total 0.04% · largest 0.04% · max ΔE 33.7

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue82,63 → 86,740.04ΔE 33.7 ΔRGB(-3,-2,-2)fill recolour ΔRGB(-3,-2,-2) (ΔE 33.7)
AntialiasCoverage216,91 → 218,910.000775ΔRGB(144,128,111)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-generated-content-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.03% (323 px) interactions-cartesian-color-opacity-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (103 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr103323347,74 → 413,8614total 0.04% · largest 0.001808%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage369,83 → 371,850.001808ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,81 → 364,830.001679ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,78 → 370,800.001292ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,85 → 380,850.001292ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,76 → 369,780.001163ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,76 → 381,760.001163ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,75 → 378,750.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,75 → 370,770.001033ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,80 → 372,820.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,76 → 368,770.000775ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,79 → 367,800.000775ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage382,79 → 383,800.000775ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,84 → 364,850.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,86 → 381,860.000775ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,86 → 380,860.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,74 → 370,750.000646ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 378,760.000646ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage382,76 → 383,770.000646ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,78 → 371,790.000646ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,78 → 375,800.000646ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,82 → 366,820.000646antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 381,850.000646ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,84 → 363,850.000646ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,77 → 375,780.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage381,77 → 381,780.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,78 → 366,780.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,79 → 381,800.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,80 → 365,800.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,81 → 367,810.000517ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,81 → 383,820.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage381,82 → 381,830.000517ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,85 → 383,850.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage372,85 → 373,860.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,85 → 372,860.000517ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,86 → 377,860.000517ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,74 → 369,740.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,75 → 380,750.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,78 → 377,790.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage381,78 → 381,790.000388ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,79 → 365,790.000388ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,81 → 377,810.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,81 → 380,810.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,81 → 375,820.000388ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage375,82 → 375,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage372,83 → 372,840.000388ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,84 → 375,850.000388ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,84 → 376,850.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,85 → 364,850.000388ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage381,75 → 381,750.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,76 → 367,760.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,76 → 377,770.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,77 → 366,770.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage377,78 → 377,780.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage383,78 → 383,780.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,78 → 367,780.000258ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage383,79 → 383,790.000258ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage377,79 → 377,790.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,81 → 366,810.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage381,82 → 381,820.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,82 → 376,820.000258ΔRGB(0,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,83 → 368,830.000258ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage365,83 → 365,830.000258ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage382,86 → 382,860.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage375,86 → 375,860.000258ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (322 px) interactions-cartesian-backgrounds-borders-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 26.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (8 total; showing 8 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr832217,57 → 362,110133total 0.04% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage126,93 → 133,1050.02ΔRGB(-37,-36,-34)antialiasing coverage residue on a shared outline
AntialiasCoverage126,97 → 132,1040.01ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage125,93 → 125,1050.009817ΔRGB(106,101,96)antialiasing coverage residue on a shared outline
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (308 px) interactions-cartesian-clip-mask-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (8 total; showing 8 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr8308192,75 → 246,122104total 0.04% · largest 0.01% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage242,75 → 246,860.01ΔRGB(24,25,25)antialiasing coverage residue on a shared outline
AntialiasCoverage237,75 → 238,860.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage242,81 → 244,850.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,76 → 244,800.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage239,81 → 239,850.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
AntialiasCoverage239,76 → 239,800.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (306 px) interactions-cartesian-block-box-model-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 19.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (6 total; showing 6 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr6306237,79 → 246,91104total 0.04% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage242,79 → 246,910.01ΔRGB(24,25,25)antialiasing coverage residue on a shared outline
AntialiasCoverage237,79 → 238,910.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage242,85 → 244,890.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,80 → 244,840.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage239,85 → 239,890.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
AntialiasCoverage239,80 → 239,840.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (306 px) interactions-cartesian-flexbox-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 26.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (6 total; showing 6 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr6306279,84 → 288,95104total 0.04% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage283,84 → 288,950.01ΔRGB(-59,-55,-50)antialiasing coverage residue on a shared outline
AntialiasCoverage279,84 → 279,950.009559ΔRGB(86,81,74)antialiasing coverage residue on a shared outline
AntialiasCoverage284,90 → 286,940.005167ΔRGB(71,67,61)antialiasing coverage residue on a shared outline
AntialiasCoverage283,85 → 286,890.004650ΔRGB(40,38,35)antialiasing coverage residue on a shared outline
AntialiasCoverage281,90 → 281,940.003617ΔRGB(-31,-29,-27)antialiasing coverage residue on a shared outline
AntialiasCoverage281,85 → 281,890.003100ΔRGB(-31,-29,-27)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (306 px) interactions-cartesian-generated-content-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 19.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for generated-content and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (6 total; showing 6 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr6306237,94 → 246,106104total 0.04% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage242,94 → 246,1060.01ΔRGB(24,25,25)antialiasing coverage residue on a shared outline
AntialiasCoverage237,94 → 238,1060.009559ΔRGB(-20,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage242,100 → 244,1040.005167ΔRGB(-29,-31,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage242,95 → 244,990.004650ΔRGB(-28,-26,-24)antialiasing coverage residue on a shared outline
AntialiasCoverage239,100 → 239,1040.003617ΔRGB(71,66,60)antialiasing coverage residue on a shared outline
AntialiasCoverage239,95 → 239,990.003100ΔRGB(68,64,59)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-generated-content-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (304 px) interactions-cartesian-images-replaced-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr430480,43 → 408,9676total 0.04% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage231,72 → 231,960.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-images-replaced f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.03% · raw 0.03% (304 px) interactions-cartesian-images-replaced-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr330480,43 → 452,81152total 0.04% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage452,50 → 452,740.02ΔRGB(190,110,30)antialiasing coverage residue on a shared outline
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.03% (282 px) interactions-cartesian-color-opacity-x-typography · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for color-opacity and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (94 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr94282358,76 → 383,8943total 0.04% · largest 0.005555%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage373,76 → 373,890.005555ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,86 → 367,860.002454ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,83 → 366,840.001808ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage376,83 → 378,830.001163ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage383,84 → 383,860.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,87 → 378,870.001033ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage376,77 → 378,770.000904ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,78 → 365,790.000775ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,78 → 380,780.000646ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,860.000646ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,89 → 380,890.000646ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,76 → 380,760.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage381,82 → 381,820.000517ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,76 → 381,760.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,76 → 366,770.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage381,76 → 381,760.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,77 → 363,780.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,79 → 367,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,79 → 382,790.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,79 → 362,800.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,80 → 364,800.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,80 → 368,810.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,81 → 379,810.000388ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage366,81 → 366,820.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage361,82 → 361,820.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage363,82 → 363,830.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,83 → 369,840.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage360,83 → 360,840.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,85 → 370,860.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,86 → 359,860.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage380,86 → 380,860.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,87 → 368,880.000388ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage371,87 → 371,880.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage368,88 → 368,890.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage358,88 → 358,890.000388ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,76 → 366,760.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,77 → 363,770.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage378,77 → 379,770.000258ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,78 → 382,780.000258ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage367,78 → 367,780.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,79 → 380,790.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,80 → 382,800.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage361,81 → 361,810.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage366,82 → 366,820.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage369,82 → 369,830.000258ΔRGB(1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage382,83 → 382,830.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,83 → 379,830.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,83 → 380,830.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage380,84 → 380,840.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage370,85 → 370,850.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage362,87 → 362,870.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,87 → 380,870.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage383,87 → 383,870.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage379,87 → 379,870.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage359,88 → 359,880.000258ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage364,76 → 364,760.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage363,76 → 363,760.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage382,77 → 382,770.000129ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage367,77 → 367,770.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage382,77 → 382,770.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,78 → 362,780.000129ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,80 → 365,800.000129ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage368,80 → 368,800.000129ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,80 → 362,800.000129ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-color-opacity-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>color-opacity x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-color-opacity {color:#5a189a;opacity:.76;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-color-opacity f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-color-opacity"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-color-opacity"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (230 px) interactions-cartesian-clip-mask-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr523080,43 → 408,12276total 0.03% · largest 0.009817% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage231,72 → 231,960.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (228 px) interactions-cartesian-block-box-model-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr322880,43 → 408,10076total 0.03% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,61 → 80,850.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage231,76 → 231,1000.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (228 px) interactions-cartesian-flexbox-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr322896,43 → 408,9576total 0.03% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage280,65 → 280,890.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage96,71 → 96,950.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (228 px) interactions-cartesian-generated-content-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for generated-content and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr322880,43 → 408,11576total 0.03% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,76 → 80,1000.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage231,91 → 231,1150.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-generated-content-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (228 px) interactions-cartesian-images-replaced-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr222871,43 → 244,81152total 0.03% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage71,57 → 71,810.02ΔRGB(190,110,30)antialiasing coverage residue on a shared outline
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (214 px) interactions-cartesian-clip-mask-x-flexbox · same-element-and-bidirectional-nestingPASS via CSS-scale observation: predominant shared-outline coverageColorValueΔE 3.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw fill recolour ΔRGB(-4,-3,-3) (ΔE 3.5)
Cartesian family interaction for clip-mask and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (57 total; showing 57 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr57214192,58 → 459,12215total 0.03% · largest 0.001938% · max ΔE 3.9

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
ColorValue403,73 → 403,770.001938ΔE 3.9 ΔRGB(-25,-21,-19)fill recolour ΔRGB(-25,-21,-19) (ΔE 3.9)
AntialiasCoverage402,82 → 402,860.001938ΔRGB(-25,-23,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage401,91 → 401,960.001938ΔRGB(-25,-23,-20)antialiasing coverage residue on a shared outline
AntialiasCoverage402,77 → 402,820.001808ΔRGB(-21,-18,-15)antialiasing coverage residue on a shared outline
AntialiasCoverage401,96 → 401,1000.001808ΔRGB(-22,-20,-18)antialiasing coverage residue on a shared outline
AntialiasCoverage459,64 → 459,680.001679ΔRGB(32,29,26)antialiasing coverage residue on a shared outline
AntialiasCoverage458,72 → 458,760.001679ΔRGB(24,21,18)antialiasing coverage residue on a shared outline
AntialiasCoverage458,76 → 458,800.001679ΔRGB(32,29,26)antialiasing coverage residue on a shared outline
ColorValue457,84 → 457,880.001679ΔE 3.9 ΔRGB(21,18,15)fill recolour ΔRGB(+21,+18,+15) (ΔE 3.9)
AntialiasCoverage458,68 → 458,720.001550ΔRGB(31,27,24)antialiasing coverage residue on a shared outline
AntialiasCoverage457,81 → 457,840.001550ΔRGB(32,29,25)antialiasing coverage residue on a shared outline
AntialiasCoverage402,88 → 402,910.001292ΔRGB(-32,-29,-26)antialiasing coverage residue on a shared outline
AntialiasCoverage404,59 → 404,600.000517ΔRGB(-16,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage402,87 → 402,870.000388ΔRGB(-19,-17,-14)antialiasing coverage residue on a shared outline
AntialiasCoverage456,104 → 456,1050.000388ΔRGB(19,17,14)antialiasing coverage residue on a shared outline
AntialiasCoverage455,105 → 455,1060.000388ΔRGB(38,34,29)antialiasing coverage residue on a shared outline
AntialiasCoverage404,58 → 404,580.000258ΔRGB(-34,-30,-27)antialiasing coverage residue on a shared outline
AntialiasCoverage406,58 → 406,580.000129ΔRGB(8,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage407,58 → 407,580.000129ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage410,58 → 410,580.000129ΔRGB(11,9,7)antialiasing coverage residue on a shared outline
AntialiasCoverage411,58 → 411,580.000129ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage413,59 → 413,590.000129ΔRGB(12,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage414,59 → 414,590.000129ΔRGB(10,9,9)antialiasing coverage residue on a shared outline
AntialiasCoverage415,59 → 415,590.000129ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage416,59 → 416,590.000129ΔRGB(7,6,4)antialiasing coverage residue on a shared outline
AntialiasCoverage418,59 → 418,590.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage419,59 → 419,590.000129ΔRGB(10,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage420,59 → 420,590.000129ΔRGB(8,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage421,59 → 421,590.000129ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage422,59 → 422,590.000129ΔRGB(13,12,10)antialiasing coverage residue on a shared outline
AntialiasCoverage423,59 → 423,590.000129ΔRGB(11,9,7)antialiasing coverage residue on a shared outline
AntialiasCoverage426,59 → 426,590.000129ΔRGB(5,5,5)antialiasing coverage residue on a shared outline
AntialiasCoverage427,60 → 427,600.000129ΔRGB(12,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage429,60 → 429,600.000129ΔRGB(8,7,6)antialiasing coverage residue on a shared outline
AntialiasCoverage430,60 → 430,600.000129ΔE 1.6 ΔRGB(7,6,4)antialiasing coverage residue on a shared outline
AntialiasCoverage402,100 → 402,1000.000129ΔRGB(-10,-9,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage402,100 → 402,1000.000129ΔRGB(-12,-10,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage436,104 → 436,1040.000129ΔE 1.1 ΔRGB(-5,-5,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage437,104 → 437,1040.000129ΔRGB(-8,-7,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage438,104 → 438,1040.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage439,104 → 439,1040.000129ΔRGB(-12,-11,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage439,104 → 439,1040.000129ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage440,104 → 440,1040.000129ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage442,104 → 442,1040.000129ΔRGB(-12,-10,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage443,105 → 443,1050.000129ΔRGB(-8,-7,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage445,105 → 445,1050.000129ΔRGB(-12,-11,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage445,105 → 445,1050.000129ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage446,105 → 446,1050.000129ΔRGB(-9,-8,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage447,105 → 447,1050.000129ΔRGB(-10,-9,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage448,105 → 448,1050.000129ΔRGB(-12,-10,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage449,105 → 449,1050.000129ΔRGB(-7,-6,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage449,105 → 449,1050.000129ΔRGB(-8,-7,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage450,105 → 450,1050.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage452,106 → 452,1060.000129ΔRGB(-4,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage453,106 → 453,1060.000129ΔRGB(-10,-9,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-flexbox.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x flexbox interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (191 px) interactions-cartesian-images-replaced-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 63.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (25 total; showing 25 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2519183,43 → 417,9576total 0.02% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage85,60 → 85,630.001033ΔRGB(170,-110,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage84,68 → 84,700.001033ΔRGB(170,-110,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage84,71 → 84,740.001033ΔRGB(-190,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage84,75 → 84,770.001033ΔRGB(-190,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage83,79 → 83,810.001033ΔRGB(-190,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage84,64 → 84,660.000904ΔRGB(170,-110,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage386,84 → 387,840.000646ΔRGB(170,-40,-170)antialiasing coverage residue on a shared outline
AntialiasCoverage390,84 → 391,840.000646ΔRGB(170,-40,-170)antialiasing coverage residue on a shared outline
AntialiasCoverage393,85 → 395,850.000646ΔRGB(170,-40,-170)antialiasing coverage residue on a shared outline
AntialiasCoverage397,85 → 398,850.000646ΔRGB(170,-40,-170)antialiasing coverage residue on a shared outline
AntialiasCoverage401,85 → 402,850.000646ΔRGB(-190,-30,40)antialiasing coverage residue on a shared outline
AntialiasCoverage408,86 → 409,860.000646ΔRGB(-190,-30,40)antialiasing coverage residue on a shared outline
AntialiasCoverage412,86 → 413,860.000646ΔRGB(-190,-30,40)antialiasing coverage residue on a shared outline
AntialiasCoverage415,87 → 417,870.000646ΔRGB(-190,-30,40)antialiasing coverage residue on a shared outline
AntialiasCoverage404,86 → 405,860.000517ΔRGB(-190,-30,40)antialiasing coverage residue on a shared outline
AntialiasCoverage398,90 → 398,910.000517ΔRGB(-190,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage399,76 → 399,760.000388ΔRGB(170,-110,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage399,79 → 399,800.000388ΔRGB(170,-110,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage83,83 → 83,830.000388ΔRGB(-190,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage398,83 → 398,840.000388ΔRGB(170,-110,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage398,87 → 398,870.000388ΔRGB(-190,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage397,94 → 397,950.000388ΔRGB(-190,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage89,72 → 89,720.000129ΔRGB(-190,-30,40)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (172 px) interactions-cartesian-flexbox-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 24.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr417243,74 → 50,8586total 0.02% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage43,74 → 46,840.01ΔRGB(4,53,56)antialiasing coverage residue on a shared outline
AntialiasCoverage47,74 → 48,840.008526ΔRGB(-3,-29,-31)antialiasing coverage residue on a shared outline
AntialiasCoverage43,84 → 44,850.001292ΔRGB(3,41,43)antialiasing coverage residue on a shared outline
AntialiasCoverage50,84 → 50,850.001292ΔRGB(-4,-42,-44)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (157 px) interactions-cartesian-backgrounds-borders-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 68.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (7 total; showing 7 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr715717,43 → 408,11076total 0.02% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage232,73 → 232,970.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.01% · raw 0.01% (152 px) interactions-cartesian-grid-x-images-replaced · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for grid and images-replaced: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr215280,43 → 408,9576total 0.02% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage408,43 → 408,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,71 → 80,950.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-grid-x-images-replaced.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>grid x images-replaced interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
61  .f-images-replaced {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-grid f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.01% · raw 0.01% (152 px) interactions-cartesian-images-replaced-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr215280,43 → 244,8676total 0.02% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,62 → 80,860.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.01% · raw 0.01% (152 px) interactions-cartesian-images-replaced-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr215280,43 → 244,8176total 0.02% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage80,57 → 80,810.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.01% · raw 0.01% (152 px) interactions-cartesian-images-replaced-x-tables · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2152244,43 → 398,9976total 0.02% · largest 0.009817%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage244,43 → 244,670.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
AntialiasCoverage398,75 → 398,990.009817ΔRGB(170,-100,180)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.01% · raw 0.01% (106 px) interactions-cartesian-flexbox-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 37.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for flexbox and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1106267,65 → 267,99106total 0.01% · largest 0.01%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage267,65 → 267,990.01ΔRGB(-144,-128,-111)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-flexbox-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>flexbox x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-flexbox f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.006794% · raw 0.006794% (69 px) interactions-cartesian-images-replaced-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 70.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for images-replaced and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr169244,43 → 244,6569total 0.008913% · largest 0.008913%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage244,43 → 244,650.008913ΔRGB(170,-110,-30)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-images-replaced-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>images-replaced x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-images-replaced {}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-images-replaced f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-images-replaced"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-images-replaced"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.002855% · raw 0.002855% (29 px) interactions-cartesian-lists-counters-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 25.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr329236,56 → 347,7914total 0.003746% · largest 0.001808%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.002757% · raw 0.002757% (28 px) interactions-cartesian-lists-counters-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 26.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr228236,56 → 238,5814total 0.003617% · largest 0.001808%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.002757% · raw 0.002757% (28 px) interactions-cartesian-lists-counters-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 26.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr228236,56 → 238,5814total 0.003617% · largest 0.001808%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.002757% · raw 0.002757% (28 px) interactions-cartesian-lists-counters-x-positioning · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 26.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr228236,56 → 238,5814total 0.003617% · largest 0.001808%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.002757% · raw 0.002757% (28 px) interactions-cartesian-lists-counters-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 26.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr228236,56 → 238,5814total 0.003617% · largest 0.001808%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.002757% · raw 0.002757% (28 px) interactions-cartesian-lists-counters-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 26.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for lists-counters and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr228236,56 → 238,5814total 0.003617% · largest 0.001808%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage236,56 → 236,580.001808ΔRGB(-5,-69,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage237,56 → 238,580.001808ΔRGB(8,102,107)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-lists-counters-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>lists-counters x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-lists-counters {counter-reset:pair-item;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-lists-counters f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000591% · raw 0.000591% (6 px) interactions-cartesian-backgrounds-borders-x-backgrounds-borders · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and backgrounds-borders: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (6 total; showing 6 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr6617,44 → 469,1191total 0.000775% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage469,44 → 469,440.000129ΔRGB(-10,-10,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage411,76 → 411,760.000129ΔRGB(5,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage411,103 → 411,1030.000129ΔRGB(7,6,6)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage469,119 → 469,1190.000129ΔRGB(-12,-10,-9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-backgrounds-borders.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x backgrounds-borders interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-backgrounds-borders f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000394% · raw 0.000591% (6 px) interactions-cartesian-backgrounds-borders-x-clip-mask · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and clip-mask: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (6 total; showing 6 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr6617,68 → 409,1251total 0.000775% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage382,122 → 382,1220.000129ΔE 0.5 ΔRGB(1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage409,125 → 409,1250.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-clip-mask.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x clip-mask interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000533% (2 px) interactions-cartesian-paged-media-x-transforms · same-element-and-bidirectional-nesting · 4 pagesPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.6
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: page 4: antialiasing coverage residue on a shared outline
Cartesian family interaction for paged-media and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22139,62 → 139,641total 0.002023% · largest 0.001012%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage139,62 → 139,620.001012ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage139,64 → 139,640.001012ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-paged-media-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>paged-media x transforms interaction</title>
6<style>
7  @page { size: 192px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    min-height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    padding: 7px;
35    border: 2px solid #577590;
36    background-color: #e7f5ff;
37    color: #17324d;
38  }
39  .node.inner {
40    width: 58px;
41    height: 48px;
42    padding: 5px;
43  }
44  .node.outer { min-height: 96px; }
45  .own { height: 22px; white-space: nowrap; }
46  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
47  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
48  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
49  .f-images-replaced > .own > .asset { display: inline-block; }
50  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
51  .f-lists-counters > .own > .token { counter-increment: pair-item; }
52  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
53  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
54  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
55  @supports (display:grid) {
56    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
57  }
58  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
59
60  body { display: block; padding: 0; font-size: 16px; white-space: normal; }
61  .stage { display: block; margin: 0; break-before: page; }
62  .stage > .node { min-height: 68px; margin: 47px auto 0; }
63  .stage > .node.outer { margin-top: 33px; }
64  .f-paged-media {break-before:page;break-inside:avoid;}
65  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
66</style>
67</head>
68<body>
69  <div class="stage"><div class="node  f-paged-media f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
70  <div class="stage"><div class="node outer f-paged-media"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
71  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-paged-media"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
72</body>
73</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000492% · raw 0.000492% (5 px) interactions-cartesian-backgrounds-borders-x-block-box-model · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and block-box-model: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr5517,57 → 362,1141total 0.000646% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,72 → 362,720.000129ΔRGB(12,11,11)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,114 → 362,1140.000129ΔRGB(10,9,8)antialiasing coverage residue on a shared outline
AntialiasCoverage361,114 → 361,1140.000129ΔRGB(-14,-13,-11)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-block-box-model.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x block-box-model interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000492% · raw 0.000492% (5 px) interactions-cartesian-backgrounds-borders-x-lists-counters · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr5517,57 → 362,1101total 0.000646% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-lists-counters.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x lists-counters interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-lists-counters {counter-reset:pair-item;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-lists-counters"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-lists-counters"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000492% · raw 0.000492% (5 px) interactions-cartesian-backgrounds-borders-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr5517,57 → 362,1101total 0.000646% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000492% · raw 0.000492% (5 px) interactions-cartesian-backgrounds-borders-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr55126,69 → 413,1191total 0.000646% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage407,69 → 407,690.000129ΔRGB(-9,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(15,15,13)antialiasing coverage residue on a shared outline
AntialiasCoverage357,93 → 357,930.000129ΔRGB(10,10,9)antialiasing coverage residue on a shared outline
AntialiasCoverage126,119 → 126,1190.000129ΔRGB(14,14,13)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000492% · raw 0.000492% (5 px) interactions-cartesian-backgrounds-borders-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr5517,57 → 362,1101total 0.000646% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,68 → 362,680.000129ΔRGB(6,7,5)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage362,110 → 362,1100.000129ΔRGB(15,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage361,110 → 361,1100.000129ΔRGB(-9,-8,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000394% · raw 0.000394% (4 px) interactions-cartesian-backgrounds-borders-x-flexbox · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr4417,57 → 459,1071total 0.000517% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage459,68 → 459,680.000129ΔRGB(-5,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage459,95 → 459,950.000129ΔRGB(-8,-7,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-flexbox.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x flexbox interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-flexbox {display:flex;align-items:center;justify-content:space-around;gap:4px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-flexbox"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-flexbox"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000394% (4 px) interactions-cartesian-clip-mask-x-clip-mask · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and clip-mask: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr44192,120 → 409,1251total 0.000517% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage382,122 → 382,1220.000129ΔE 0.5 ΔRGB(1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage409,125 → 409,1250.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-clip-mask.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x clip-mask interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-clip-mask f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000394% · raw 0.000394% (4 px) interactions-cartesian-generated-content-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for generated-content and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr44233,79 → 413,1321total 0.000517% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage247,108 → 247,1080.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage233,132 → 233,1320.000129ΔRGB(-7,-6,-4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-generated-content-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000295% · raw 0.000295% (3 px) interactions-cartesian-backgrounds-borders-x-multicol · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr3317,57 → 419,1071total 0.000388% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage419,88 → 419,880.000129ΔRGB(-14,-13,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000295% · raw 0.000295% (3 px) interactions-cartesian-backgrounds-borders-x-units-values · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 4.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr33346,74 → 351,1111total 0.000388% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage346,74 → 346,740.000129ΔRGB(-14,-13,-11)antialiasing coverage residue on a shared outline
AntialiasCoverage346,104 → 346,1040.000129ΔRGB(15,14,13)antialiasing coverage residue on a shared outline
AntialiasCoverage351,111 → 351,1110.000129ΔRGB(9,9,8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-units-values.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x units-values interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-units-values {width:calc(100% - 9px);padding-left:5%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-units-values"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-units-values"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000098% · raw 0.000295% (3 px) interactions-cartesian-clip-mask-x-grid · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr33192,100 → 402,1221total 0.000388% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage402,100 → 402,1000.000129ΔRGB(9,8,7)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-grid.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x grid interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000098% · raw 0.000295% (3 px) interactions-cartesian-clip-mask-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr33192,79 → 347,1221total 0.000388% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000295% · raw 0.000295% (3 px) interactions-cartesian-overflow-clipping-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for overflow-clipping and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr33247,79 → 413,1081total 0.000388% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage247,108 → 247,1080.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-overflow-clipping-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>overflow-clipping x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-overflow-clipping f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-backgrounds-borders-x-generated-content · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2217,57 → 17,1071total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-generated-content.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x generated-content interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-generated-content {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-backgrounds-borders-x-grid · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2217,57 → 17,1071total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-grid.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x grid interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-backgrounds-borders-x-tables · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for backgrounds-borders and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2217,57 → 17,1071total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage17,57 → 17,570.000129ΔRGB(9,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage17,107 → 17,1070.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-backgrounds-borders-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>backgrounds-borders x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-backgrounds-borders {border:3px double #355070;border-radius:12px;background-color:#dceeff;}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-backgrounds-borders f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-backgrounds-borders"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-backgrounds-borders"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000197% (2 px) interactions-cartesian-block-box-model-x-clip-mask · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and clip-mask: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22382,122 → 409,1251total 0.000258% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage382,122 → 382,1220.000129ΔE 0.5 ΔRGB(1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage409,125 → 409,1250.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-clip-mask.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x clip-mask interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-block-box-model-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for block-box-model and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22347,72 → 445,791total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage445,72 → 445,720.000129ΔRGB(-10,-9,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-block-box-model-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>block-box-model x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-block-box-model {box-sizing:border-box;padding:11px 7px;min-width:92px;max-width:132px;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-block-box-model f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-block-box-model"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-block-box-model"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000197% (2 px) interactions-cartesian-clip-mask-x-multicol · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and multicol: both representatives compose on one element and in both outer/inner orders. The standards-derived reference corrects Chromium's print-only half-pixel clip-path shift on the second fractional-width column.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22192,120 → 218,1221total 0.000258% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-multicol.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x multicol interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-multicol {column-count:2;column-gap:7px;column-rule:2px solid #577590;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-multicol"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-multicol"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000197% (2 px) interactions-cartesian-clip-mask-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22192,120 → 218,1221total 0.000258% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000197% (2 px) interactions-cartesian-clip-mask-x-positioning · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22192,120 → 218,1221total 0.000258% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-positioning.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x positioning interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-positioning {position:relative;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000197% (2 px) interactions-cartesian-clip-mask-x-selectors-cascade · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22192,120 → 218,1221total 0.000258% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-selectors-cascade.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x selectors-cascade interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-selectors-cascade {}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000197% (2 px) interactions-cartesian-clip-mask-x-tables · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22192,120 → 218,1221total 0.000258% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-tables.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x tables interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0% · raw 0.000197% (2 px) interactions-cartesian-clip-mask-x-typography · same-element-and-bidirectional-nestingPASS via raw same-coordinate visibility policyAntialiasCoverageΔE 0.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: antialiasing coverage residue on a shared outline
Cartesian family interaction for clip-mask and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22192,120 → 218,1221total 0.000258% · largest 0.000129% · max ΔE 0.5

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage192,120 → 192,1200.000129ΔE 0.5 ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage218,122 → 218,1220.000129ΔE 0.5 ΔRGB(1,1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-clip-mask-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>clip-mask x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-clip-mask {clip-path:polygon(5% 0,100% 8%,94% 100%,0 88%);}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-clip-mask f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-clip-mask"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-clip-mask"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-generated-content-x-overflow-clipping · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 6.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for generated-content and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr1225,109 → 25,1092total 0.000258% · largest 0.000258%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage25,109 → 25,1090.000258ΔRGB(-12,-4,-6)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-generated-content-x-overflow-clipping.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>generated-content x overflow-clipping interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-generated-content {}
61  .f-overflow-clipping {overflow:hidden;max-height:58px;border-radius:9px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-generated-content f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-generated-content"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-overflow-clipping"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-overflow-clipping"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-generated-content"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-grid-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for grid and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22347,79 → 413,861total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-grid-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>grid x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-grid f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-grid"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-grid"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-positioning-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for positioning and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22347,79 → 413,861total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-positioning-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>positioning x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-positioning {position:relative;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-positioning f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-positioning"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-positioning"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-selectors-cascade-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for selectors-cascade and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22347,79 → 413,861total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(20,3,8)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-selectors-cascade-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>selectors-cascade x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-selectors-cascade {}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-selectors-cascade f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-selectors-cascade"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-selectors-cascade"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-tables-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for tables and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22347,79 → 413,861total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage413,86 → 413,860.000129ΔRGB(13,11,9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-tables-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>tables x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-tables {display:table;border-collapse:separate;border-spacing:3px;}
61  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-tables f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-tables"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-tables"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000197% · raw 0.000197% (2 px) interactions-cartesian-transforms-x-typography · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 2.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for transforms and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr22249,77 → 414,861total 0.000258% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage414,77 → 414,770.000129ΔRGB(12,11,9)antialiasing coverage residue on a shared outline
AntialiasCoverage249,86 → 249,860.000129ΔRGB(-8,-7,-6)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-transforms-x-typography.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>transforms x typography interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
61  .f-typography {font-size:18px;font-weight:700;letter-spacing:.7px;}
62</style>
63</head>
64<body>
65  <div class="stage"><div class="node  f-transforms f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
66  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-typography"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67  <div class="stage"><div class="node outer f-typography"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
68</body>
69</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.000098% · raw 0.000098% (1 px) interactions-cartesian-transforms-x-transforms · same-element-and-bidirectional-nestingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 3.4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Cartesian family interaction for transforms and transforms: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr11347,79 → 347,791total 0.000129% · largest 0.000129%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage347,79 → 347,790.000129ΔRGB(-12,-11,-9)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-cartesian-transforms-x-transforms.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>transforms x transforms interaction</title>
6<style>
7  @page { size: 520px 200px; margin: 0; }
8
9  @font-face {
10    font-family: MatrixSans;
11    src: url('../../fonts/ParitySans.ttf') format('truetype');
12    font-style: normal;
13    font-weight: 400;
14  }
15  html { font-family: ParitySans; font-size: 16px; line-height: 1.2; }
16  * { box-sizing: border-box; margin: 0; }
17  html, body { background: #ffffff; }
18  body { padding: 16px; color: #17324d; font-size: 0; white-space: nowrap; }
19  .stage {
20    display: inline-flex;
21    width: 156px;
22    height: 164px;
23    margin-right: 8px;
24    align-items: center;
25    justify-content: center;
26    background: #f7fafc;
27    border: 1px solid #cbd5e1;
28    font-size: 16px;
29    vertical-align: top;
30  }
31  .stage:last-child { margin-right: 0; }
32  .node {
33    width: 126px;
34    height: 68px;
35    padding: 7px;
36    border: 2px solid #577590;
37    background-color: #e7f5ff;
38    color: #17324d;
39  }
40  .node.inner {
41    width: 58px;
42    height: 48px;
43    padding: 5px;
44  }
45  .node.outer { height: 96px; }
46  .own { height: 22px; white-space: nowrap; }
47  .asset { display: none; width: 34px; height: 24px; object-fit: cover; object-position: 70% 50%; }
48  .f-generated-content::before { content: '‹'; color: #d62828; font-weight: 700; }
49  .f-generated-content::after { content: '›'; color: #2a9d8f; font-weight: 700; }
50  .f-images-replaced > .own > .asset { display: inline-block; }
51  .f-inline-text > .own > .token:first-of-type { font-size: .72em; vertical-align: super; }
52  .f-lists-counters > .own > .token { counter-increment: pair-item; }
53  .f-lists-counters > .own > .token::before { content: counter(pair-item) '.'; color: #d62828; }
54  .f-positioning > .own > .token:last-of-type { position: absolute; right: 4px; bottom: 4px; }
55  .f-selectors-cascade:is(.node) > .own > .token:nth-of-type(2) { color: #c1121f; }
56  @supports (display:grid) {
57    .f-selectors-cascade { border-left-color: #06d6a0; border-right-color: #06d6a0; }
58  }
59  .f-tables > .own > .token { display: table-cell; vertical-align: middle; }
60  .f-transforms {transform:translate(2px,-1px) rotate(5deg);transform-origin:20% 70%;}
61</style>
62</head>
63<body>
64  <div class="stage"><div class="node  f-transforms f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div>
65  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
66  <div class="stage"><div class="node outer f-transforms"><div class="own"><span class="token">Ag</span><span class="token">Bb</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div><div class="node inner f-transforms"><div class="own"><span class="token">A</span><span class="token">B</span><img class="asset" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAIElEQVR42mM4IScHR3I9NnDEgFNCzu0EHN1ZJQJHOCUAni4lgeO2HLIAAAAASUVORK5CYII="></div></div></div></div>
67</body>
68</html>
PASS exact match interactions-cartesian-backgrounds-borders-x-overflow-clipping · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for backgrounds-borders and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-block-box-model · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and block-box-model: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-flexbox · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-generated-content · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-grid · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-multicol · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and multicol: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-overflow-clipping · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and block-box-model: the block-box-model representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-block-box-model-x-paged-media · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-positioning · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-selectors-cascade · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-block-box-model-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for block-box-model and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-clip-mask-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and clip-mask: the clip-mask representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-clip-mask-x-paged-media · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for clip-mask and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-color-opacity-x-flexbox · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for color-opacity and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-color-opacity-x-grid · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for color-opacity and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-color-opacity-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for color-opacity and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-flexbox · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and flexbox: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-generated-content · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-grid · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-overflow-clipping · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and flexbox: the flexbox representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-flexbox-x-paged-media · same-element-and-bidirectional-nesting · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-selectors-cascade · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-flexbox-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for flexbox and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-generated-content-x-generated-content · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for generated-content and generated-content: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-generated-content-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and generated-content: the generated-content representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-generated-content-x-paged-media · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for generated-content and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-generated-content-x-positioning · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for generated-content and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-generated-content-x-selectors-cascade · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for generated-content and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-generated-content-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for generated-content and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-generated-content-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for generated-content and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-generated-content-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for generated-content and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-grid · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and grid: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-lists-counters · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and lists-counters: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-overflow-clipping · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and grid: the grid representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-grid-x-paged-media · same-element-and-bidirectional-nesting · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-selectors-cascade · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-grid-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for grid and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-lists-counters-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and lists-counters: the lists-counters representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-lists-counters-x-paged-media · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for lists-counters and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-multicol-x-overflow-clipping · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for multicol and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-multicol-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and multicol: the multicol representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-multicol-x-paged-media · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for multicol and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-multicol-x-positioning · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for multicol and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-multicol-x-selectors-cascade · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for multicol and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-multicol-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for multicol and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-multicol-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for multicol and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-overflow-clipping-x-overflow-clipping · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for overflow-clipping and overflow-clipping: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-overflow-clipping-x-paged-media · same-element-and-bidirectional-nesting · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for overflow-clipping and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-overflow-clipping-x-positioning · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for overflow-clipping and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-overflow-clipping-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for overflow-clipping and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-overflow-clipping-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for overflow-clipping and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-overflow-clipping-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for overflow-clipping and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-page-margins-x-page-margins · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Page-margin self-interaction across first/right, left, and later-right physical pages. Intentionally asymmetric margins make page-side selection, cascade, content origins, available block size, page-area paint boundaries, and root-flow gutters conspicuous.
PASS exact match interactions-cartesian-page-margins-x-positioning · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and positioning: the positioning representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-page-margins-x-tables · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and tables: the tables representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-page-margins-x-typography · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and typography: the typography representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-page-margins-x-units-values · physical-page-context-and-nested-feature-depths · 3 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Physical-page-context interaction for page-margins and units-values: the units-values representative is exercised on the stage subject and at both nesting depths across first/right, left, and later-right physical pages. Intentionally asymmetric margins put layout and graphical effects directly against conspicuous page-area boundaries; stages also shift through root padding to detect conflated clips.
PASS exact match interactions-cartesian-paged-media-x-paged-media · same-element-and-bidirectional-nesting · 5 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for paged-media and paged-media: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-paged-media-x-positioning · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for paged-media and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-paged-media-x-selectors-cascade · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for paged-media and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-paged-media-x-tables · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for paged-media and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-paged-media-x-typography · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for paged-media and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-paged-media-x-units-values · same-element-and-bidirectional-nesting · 4 pages
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 4
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for paged-media and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-positioning-x-positioning · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for positioning and positioning: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-positioning-x-selectors-cascade · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for positioning and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-positioning-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for positioning and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-selectors-cascade-x-selectors-cascade · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for selectors-cascade and selectors-cascade: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-selectors-cascade-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for selectors-cascade and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-selectors-cascade-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for selectors-cascade and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-selectors-cascade-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for selectors-cascade and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-tables-x-tables · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for tables and tables: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-tables-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for tables and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-typography-x-typography · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for typography and typography: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-typography-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for typography and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.
PASS exact match interactions-cartesian-units-values-x-units-values · same-element-and-bidirectional-nesting
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Cartesian family interaction for units-values and units-values: both representatives compose on one element and in both outer/inner orders. Paged-media representatives force actual page breaks.

background-gradients-and-transforms — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.000208% · raw 0.002031% (39 px) interactions-gradients-transforms-pattern-space-red-team · pattern-space-through-transformed-ancestorsPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 0.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Large hard-stop linear, radial, and conic gradients each paint directly on a transformed box and through a transformed ancestor. A page-axis-anchored PDF pattern produces unmistakably rotated color boundaries even when the box clip and border transform correctly.
regions (39 total; showing 39 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr393940,15 → 678,2081total 0.002438% · largest 0.000063%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage287,15 → 287,150.000063ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage353,27 → 353,270.000063ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage355,29 → 355,290.000063ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage357,33 → 357,330.000063ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage69,37 → 69,370.000063ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage142,44 → 142,440.000063ΔRGB(-1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage51,51 → 51,510.000063ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage134,51 → 134,510.000063ΔRGB(-1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage132,53 → 132,530.000063ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage47,54 → 47,540.000063ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage46,55 → 46,550.000063ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage127,57 → 127,570.000063ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage365,57 → 365,570.000063ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage297,58 → 297,580.000063ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage297,58 → 297,580.000063ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage124,60 → 124,600.000063ΔRGB(-1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage40,60 → 40,600.000063ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage119,64 → 119,640.000063ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage326,66 → 326,660.000063ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage289,68 → 289,680.000063ΔRGB(-1,9,10)antialiasing coverage residue on a shared outline
AntialiasCoverage113,68 → 113,680.000063ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage322,69 → 322,690.000063ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage110,70 → 110,700.000063ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage362,73 → 362,730.000063ΔRGB(0,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage102,77 → 102,770.000063ΔRGB(-1,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage102,77 → 102,770.000063ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage678,87 → 678,870.000063ΔRGB(-3,-19,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage344,153 → 344,1530.000063ΔRGB(0,1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage518,174 → 518,1740.000063ΔRGB(18,17,17)antialiasing coverage residue on a shared outline
AntialiasCoverage323,178 → 323,1780.000063ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage68,180 → 68,1800.000063ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage316,180 → 316,1800.000063ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage369,183 → 369,1830.000063ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage309,187 → 309,1870.000063ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage119,188 → 119,1880.000063ΔRGB(1,0,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage371,196 → 371,1960.000063ΔRGB(0,0,1)antialiasing coverage residue on a shared outline
AntialiasCoverage338,200 → 338,2000.000063ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage530,205 → 530,2050.000063ΔRGB(-8,-9,-9)antialiasing coverage residue on a shared outline
AntialiasCoverage323,208 → 323,2080.000063ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-gradients-transforms-pattern-space-red-team.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>Gradient pattern space through transformed ancestors</title>
6<style>
7  @page { size: 768px 256px; margin: 0; }
8  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
9  html, body {
10    display: block;
11    width: 768px;
12    height: 256px;
13    overflow: hidden;
14    background: #fff;
15  }
16  body { position: relative; }
17  .case {
18    position: absolute;
19    display: block;
20    width: 176px;
21    height: 80px;
22    border: 4px solid #111;
23    background-color: #fff;
24    background-repeat: no-repeat;
25    background-size: 100% 100%;
26  }
27  .direct {
28    top: 20px;
29    transform: translate(3px, -2px) rotate(11deg) scale(.93, .84);
30    transform-origin: 18% 73%;
31  }
32  .ancestor {
33    top: 148px;
34    height: 88px;
35    border: 5px solid #111;
36    background: #d7dde5;
37    transform: translate(-2px, 1px) rotate(-8deg) skewX(4deg);
38    transform-origin: 77% 21%;
39  }
40  .ancestor > .case {
41    left: 8px;
42    top: 8px;
43    width: 150px;
44    height: 62px;
45  }
46  .column-1 { left: 40px; }
47  .column-2 { left: 296px; }
48  .column-3 { left: 552px; }
49  .linear {
50    background-image: linear-gradient(
51      127deg,
52      #ff003c 0 34%,
53      #ffea00 34% 67%,
54      #0048ff 67% 100%
55    );
56  }
57  .radial {
58    background-image: radial-gradient(
59      circle at 28% 72%,
60      #fff 0 14%,
61      #00e5ff 14% 42%,
62      #001252 42% 100%
63    );
64  }
65  .conic {
66    background-image: conic-gradient(
67      from 23deg at 64% 34%,
68      #ff00c8 0 25%,
69      #00ff67 25% 55%,
70      #ff6a00 55% 83%,
71      #402080 83% 100%
72    );
73  }
74</style>
75</head>
76<body>
77  <div class="case direct column-1 linear"></div>
78  <div class="case direct column-2 radial"></div>
79  <div class="case direct column-3 conic"></div>
80  <div class="case ancestor column-1"><div class="case linear"></div></div>
81  <div class="case ancestor column-2"><div class="case radial"></div></div>
82  <div class="case ancestor column-3"><div class="case conic"></div></div>
83</body>
84</html>

containing-block — 100.00% verified visual parity PASS 2 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match interactions-positioning-absolute-x-box-model-padding · padding-box
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: absolute child resolves top/left against the padding box of a padded positioned ancestor.
PASS exact match interactions-positioning-absolute-x-flexbox-container · absolute-in-flex
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: an absolutely positioned child of a flex container is out of flow and positions against the flex container's padding box while in-flow flex items are spaced by justify-content.

flex-wrap-x-gap — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match flexbox-wrap-x-gap · row-and-column-gap-on-wrap
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
flex-wrap pushes the fifth item to a new row; gap must apply both between items in a row and between the wrapped rows, with no gap on outer edges.

flexbox-x-grid — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match flexbox-x-grid-nested · grid-in-flex-item
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A grid container (2x2 cells) nested inside a flex item; the flex layout sizes the item and the grid lays out its cells within it.

float — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match interactions-positioning-float-x-margin-collapse · with-margin-collapse
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: a left float beside in-flow blocks whose adjacent vertical margins collapse.

float-x-margin-collapse — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match interactions-float-x-margin-collapse · float-beside-collapsing-blocks
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A left-floated box beside two stacked blocks whose adjacent vertical margins collapse to the larger value rather than summing.

fragmented-background-ownership — 100.00% verified visual parity PASS 3 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (882 px) interactions-grid-fragmentation-jpeg-background-single-owner · grid-fit-content-display-contents-jpeg · 3 pagesPASS via CSS-scale observation: sub-CSS shared-outline coverageMissingmissing 0.03%ΔE 15.3
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw candidate lacks paint present in reference (0.03%)
JPEG counterpart to the certificate reproduction: a conspicuous decoded tile must paint only in its first fragment while every flattened grid row and final marker survives.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Missing1563396,0 → 576,0563total 0.03% · largest 0.03%
ColorErr1319396,0 → 396,102319total 0.02% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
Missing396,0 → 576,00.03candidate lacks paint present in reference (0.03%)
AntialiasCoverage396,0 → 396,1020.02ΔRGB(-9,52,76)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-grid-fragmentation-jpeg-background-single-owner.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>interactions-grid-fragmentation-jpeg-background-single-owner</title>
6<style>
7  @page { size: 624px 360px; margin: 24px; }
8  * { box-sizing: border-box; margin: 0; }
9  html, body { background: #fff; color: #111; font: 16px/1.25 ParitySans; }
10  .certificate {
11    min-height: 680px;
12    padding-top: 8px;
13    background-color: #d9f0ff;
14    background-image: url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAAAAAAD/2wBDAAEBAQEBAQEBAQEBAQECAgMCAgICAgQDAwIDBQQFBQUEBAQFBgcGBQUHBgQEBgkGBwgICAgIBQYJCgkICgcICAj/2wBDAQEBAQICAgQCAgQIBQQFCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj/wAARCAC0ALQDAREAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAoJCAT/xAAxEAEAAAANAwIEBwAAAAAAAAAACQoZGkdIZ2iFhqWnxMXk5RMVBBIUFxYiJ0JGYmT/xAAaAQEBAAMBAQAAAAAAAAAAAAAACQYICgsH/8QAPREBAAAABRMEAAMJAQAAAAAAAAkYZYSjBgcXGUNERUZkZoKDpMHCw8Ti4xESE+QIFBUBAyEjJUFCYWJj/9oADAMBAAIRAxEAPwD0IvuoAAAAAAAAABD+tA5fwGtEFzTngvNYPVnc9LcmfCKYHnHIa0MHTPAAAAAAAAAdYJnvTgAAAAAAAAAQ/rQOX8BrRBc054LzWD1Z3PS3JnwimB5xyGtDB0zwAAAAAAAAHWCZ704AAAAAAAAAEP60Dl/Aa0QXNOeC81g9Wdz0tyZ8IpgecchrQwdM8AAAAAAAAB1gme9OAAAAAAAAABD+tA5fwGtEFzTngvNYPVnc9LcmfCKYHnHIa0MHTPAAAAAAAAAdYJnvTgAAAAAAAAAQ/rQOX8BrRBc054LzWD1Z3PS3JnwimB5xyGtDB0zwAAAAAAAAHWCZ704AAAAAAAAAEP60Dl/Aa0QXNOeC81g9Wdz0tyZ8IpgecchrQwdM8AAAAAAAAB1gme9OAAAAAAAAABD+tA5fwGtEFzTngvNYPVnc9LcmfCKYHnHIa0MHTPAAAAAAAAAdYJnvTgAAAAAAAAAQ/rQOX8BrRBc054LzWD1Z3PS3JnwimB5xyGtDB0zwAAAAAAAAHWCZ704AAAAAAAAAEP60Dl/Aa0QXNOeC81g9Wdz0tyZ8IpgecchrQwdM8AAAAAAAAB1gme9OAAAAAAAAABD+tA5fwGtEFzTngvNYPVnc9LcmfCKYHnHIa0MHTPAAAAAAAAASXvuDpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaOSf1rWg9y3giaSlQ+VoHHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8JJ/WtaD3JE0lKh8pHkkun8LONo+38AbAQUcFHKd/fr9evsh+CPZP4t7z7n9f8AXf7PhvS9P2/+/wA3qft+X82lv4vvxfWKf07+nfnPznzXb4vZ8Xxf+X7z3e75P+fT2/39f4fQqg6g/wBb+X+b8fx+3/H3evu9f9/s9PT0bATUe/ptb5dpbbfc3tr+s+hWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+8mo9/Ta3y5bfc3tr+sWB8ro+9xu7ZHMGAAAAAAAAAnHQ/X4AWARUevpknriLcL7i9O+mbCVh771fGsARbbCAAAAAAAAAIN3qEOP8AAAAAAAABOOh+vwAsAio9fTJPXEW4X3F6d9M2ErD33q+NYAi22EAAAAAAAAAQbvUIcf4AAAAAAAACcdD9fgBYBFR6+mSeuItwvuL076ZsJWHvvV8awBFtsIAAAAAAAAAg3eoQ4/wAAAAAAAAE46H6/ACwCKj19Mk9cRbhfcXp30zYSsPfer41gCLbYQAAAAAAAABBu9Qhx/gAAAAAAAAJx0P1+AFgEVHr6ZJ64i3C+4vTvpmwlYe+9XxrAEW2wgAAAAAAAACDd6hDj/AAAAAAAAAAE46H6/ACwCKj19Mk9cRbhfcXp30zYSsPfer41gCLbYQAAAAAAAABBu9Qhx/gAAAAAAAAJx0P1+AFgEVHr6ZJ64i3C+4vTvpmwlYe+9XxrAEW2wgAAAAAAAACDd6hDj/AAAAAAAAATjofr8ALAIqPX0yT1xFuF9xenfTNhKw996vjWAItthAAAAAAAAAEG71CHH+AAAAAAAAAnHQ/X4AWARUevpknriLcL7i9O+mbCVh771fGsARbbCAAAAAAAAAIN3qEOP8AAAAAAAABOOh+vwAsAio9fTJPXEW4X3F6d9M2ErD33q+NYAi22EAAAAAAAAAf/Z");
15    background-repeat: no-repeat;
16    background-position: right top;
17    background-size: 180px 180px;
18  }
19  h1 { width: 360px; padding: 10px; color: #fff; background: #111; font-size: 24px; }
20  .grid { display: grid; grid-template-columns: fit-content(30%) minmax(0, 1fr); gap: 10px 16px; width: 72%; margin-top: 14px; }
21  .row { display: contents; }
22  .label, .value { min-height: 82px; padding: 8px; border: 4px solid #111; overflow-wrap: anywhere; }
23  .label { color: #fff; background: #7b2cbf; }
24  .value { background: #ffca3a; }
25</style>
26</head>
27<body>
28  <div class="certificate">
29    <h1>JPEG TILE APPEARS ONCE ONLY</h1>
30    <div class="grid">
31      <div class="row"><div class="label">LABEL ONE</div><div class="value">FIRST VALUE END</div></div>
32      <div class="row"><div class="label">LABEL TWO WRAPS</div><div class="value">SECOND VALUE END</div></div>
33      <div class="row"><div class="label">LABEL THREE WRAPS</div><div class="value">THIRD VALUE END</div></div>
34      <div class="row"><div class="label">LABEL FOUR WRAPS</div><div class="value">FOURTH VALUE END</div></div>
35      <div class="row"><div class="label">LABEL FIVE WRAPS</div><div class="value">FIFTH VALUE END</div></div>
36      <div class="row"><div class="label">LABEL SIX WRAPS</div><div class="value">FINAL-JPEG-MARKER</div></div>
37    </div>
38  </div>
39</body>
40</html>
41
PASS visually equivalent · no rejecting defect · thresholded evidence 0.04% · raw 0.04% (882 px) interactions-grid-fragmentation-raster-background-single-owner · grid-fit-content-display-contents-raster · 3 pagesPASS via CSS-scale observation: sub-CSS shared-outline coverageMissingmissing 0.03%ΔE 13.3
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw candidate lacks paint present in reference (0.03%)
A certificate-like fragmented fit-content grid has one huge raster corner tile that must paint only in its correct fragment while every flattened row and final marker survives.
regions (2 total; showing 2 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Missing1563396,0 → 576,0563total 0.03% · largest 0.03%
ColorErr1319396,0 → 396,102319total 0.02% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
Missing396,0 → 576,00.03candidate lacks paint present in reference (0.03%)
AntialiasCoverage396,0 → 396,1020.02ΔRGB(9,65,56)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-grid-fragmentation-raster-background-single-owner.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>interactions-grid-fragmentation-raster-background-single-owner</title>
6<style>
7  @page { size: 624px 360px; margin: 24px; }
8  * { box-sizing: border-box; margin: 0; }
9  html, body { background: #fff; color: #111; font: 16px/1.25 ParitySans; }
10  .certificate {
11    min-height: 680px;
12    padding-top: 8px;
13    background-color: #fff4d6;
14    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAEElEQVR42mN4amkKRwzEcQAyMhUx4RYvKgAAAABJRU5ErkJggg==");
15    background-repeat: no-repeat;
16    background-position: right top;
17    background-size: 180px 180px;
18  }
19  h1 { width: 360px; padding: 10px; color: #fff; background: #111; font-size: 24px; }
20  .grid { display: grid; grid-template-columns: fit-content(30%) minmax(0, 1fr); gap: 10px 16px; width: 72%; margin-top: 14px; }
21  .row { display: contents; }
22  .label, .value { min-height: 82px; padding: 8px; border: 4px solid #111; overflow-wrap: anywhere; }
23  .label { color: #fff; background: #d7263d; }
24  .value { background: #8ecae6; }
25</style>
26</head>
27<body>
28  <div class="certificate">
29    <h1>RASTER TILE APPEARS ONCE ONLY</h1>
30    <div class="grid">
31      <div class="row"><div class="label">LABEL ONE</div><div class="value">FIRST VALUE END</div></div>
32      <div class="row"><div class="label">LABEL TWO WRAPS</div><div class="value">SECOND VALUE END</div></div>
33      <div class="row"><div class="label">LABEL THREE WRAPS</div><div class="value">THIRD VALUE END</div></div>
34      <div class="row"><div class="label">LABEL FOUR WRAPS</div><div class="value">FOURTH VALUE END</div></div>
35      <div class="row"><div class="label">LABEL FIVE WRAPS</div><div class="value">FIFTH VALUE END</div></div>
36      <div class="row"><div class="label">LABEL SIX WRAPS</div><div class="value">FINAL-RASTER-MARKER</div></div>
37    </div>
38  </div>
39</body>
40</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.02% · raw 0.02% (462 px) interactions-grid-fragmentation-svg-background-single-owner · grid-fit-content-display-contents-svg · 3 pagesPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 4.6
page 1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
page 3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
SVG counterpart to the certificate raster stress case: one huge vector emblem must not be repainted on continuation pages, and all flattened grid rows remain visible.
regions (296 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr296462425,29 → 547,1514total 0.03% · largest 0.000228%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage468,31 → 469,310.000228ΔRGB(10,9,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage429,66 → 430,660.000228ΔRGB(12,11,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage426,75 → 426,760.000228ΔRGB(10,9,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage426,103 → 426,1040.000228ΔRGB(12,11,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage545,107 → 545,1080.000228ΔRGB(10,9,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage509,146 → 510,1460.000228ΔRGB(12,11,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage471,149 → 472,1490.000228ΔRGB(12,11,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage500,149 → 500,1490.000228ΔRGB(10,9,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage498,30 → 498,300.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage472,30 → 473,300.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage499,30 → 500,300.000171ΔRGB(8,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage503,31 → 503,310.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage467,31 → 468,310.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage465,32 → 466,320.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage506,32 → 506,320.000171ΔRGB(12,11,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage464,32 → 465,320.000171ΔRGB(8,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage507,32 → 507,320.000171ΔRGB(11,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage509,33 → 510,330.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage434,56 → 435,570.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage542,66 → 542,670.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage428,68 → 428,690.000171ΔRGB(11,9,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage543,68 → 543,690.000171ΔRGB(11,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage544,69 → 544,700.000171ΔRGB(12,11,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage545,72 → 545,730.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage427,74 → 427,750.000171ΔRGB(8,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage546,76 → 546,760.000171ΔRGB(8,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage546,77 → 546,780.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage546,103 → 546,1040.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage427,105 → 427,1060.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage427,107 → 427,1080.000171ΔRGB(11,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage544,108 → 544,1080.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage428,108 → 428,1090.000171ΔRGB(10,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage544,110 → 544,1100.000171ΔRGB(9,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage428,110 → 428,1110.000171ΔRGB(10,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage543,111 → 543,1110.000171ΔRGB(8,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage428,111 → 428,1120.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage430,116 → 430,1160.000171ΔRGB(10,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage432,119 → 432,1190.000171ΔRGB(11,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage519,141 → 519,1410.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage457,144 → 457,1440.000171ΔRGB(11,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage460,145 → 460,1460.000171ΔRGB(10,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage464,147 → 465,1470.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage507,147 → 508,1470.000171ΔRGB(11,9,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage465,148 → 466,1480.000171ΔRGB(10,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage467,148 → 468,1480.000171ΔRGB(10,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage468,148 → 468,1480.000171ΔRGB(11,9,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage470,149 → 471,1490.000171ΔRGB(9,8,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage501,149 → 502,1490.000171ΔRGB(8,7,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage495,29 → 496,290.000114ΔRGB(13,10,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage473,30 → 474,300.000114ΔRGB(8,7,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage471,30 → 472,300.000114ΔRGB(15,12,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage500,30 → 500,300.000114ΔRGB(13,11,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage470,31 → 470,310.000114ΔRGB(15,12,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage501,31 → 502,310.000114ΔRGB(13,11,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage504,31 → 504,310.000114ΔRGB(14,12,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage464,33 → 464,330.000114ΔRGB(10,9,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage508,33 → 508,330.000114ΔRGB(13,10,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage463,33 → 463,330.000114ΔRGB(13,11,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage461,34 → 462,340.000114ΔRGB(13,10,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage460,34 → 460,340.000114ΔRGB(21,18,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage511,34 → 512,340.000114ΔRGB(16,14,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage457,36 → 457,360.000114ΔRGB(21,18,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage515,36 → 515,360.000114ΔRGB(16,14,-7)antialiasing coverage residue on a shared outline
AntialiasCoverage455,37 → 455,370.000114ΔRGB(13,10,-4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-grid-fragmentation-svg-background-single-owner.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>interactions-grid-fragmentation-svg-background-single-owner</title>
6<style>
7  @page { size: 624px 360px; margin: 24px; }
8  * { box-sizing: border-box; margin: 0; }
9  html, body { background: #fff; color: #111; font: 16px/1.25 ParitySans; }
10  .certificate {
11    min-height: 680px;
12    padding-top: 8px;
13    background-color: #e9f5db;
14    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' fill='%236a4c93'/%3E%3Ccircle cx='50' cy='50' r='34' fill='%23ffca3a'/%3E%3Cpath d='M18 50h64M50 18v64' stroke='%23d7263d' stroke-width='12'/%3E%3C/svg%3E");
15    background-repeat: no-repeat;
16    background-position: right top;
17    background-size: 180px 180px;
18  }
19  h1 { width: 360px; padding: 10px; color: #fff; background: #111; font-size: 24px; }
20  .grid { display: grid; grid-template-columns: fit-content(30%) minmax(0, 1fr); gap: 10px 16px; width: 72%; margin-top: 14px; }
21  .row { display: contents; }
22  .label, .value { min-height: 82px; padding: 8px; border: 4px solid #111; overflow-wrap: anywhere; }
23  .label { color: #fff; background: #006d77; }
24  .value { background: #ffddd2; }
25</style>
26</head>
27<body>
28  <div class="certificate">
29    <h1>SVG EMBLEM APPEARS ONCE ONLY</h1>
30    <div class="grid">
31      <div class="row"><div class="label">LABEL ONE</div><div class="value">FIRST VALUE END</div></div>
32      <div class="row"><div class="label">LABEL TWO WRAPS</div><div class="value">SECOND VALUE END</div></div>
33      <div class="row"><div class="label">LABEL THREE WRAPS</div><div class="value">THIRD VALUE END</div></div>
34      <div class="row"><div class="label">LABEL FOUR WRAPS</div><div class="value">FOURTH VALUE END</div></div>
35      <div class="row"><div class="label">LABEL FIVE WRAPS</div><div class="value">FIFTH VALUE END</div></div>
36      <div class="row"><div class="label">LABEL SIX WRAPS</div><div class="value">FINAL-SVG-MARKER</div></div>
37    </div>
38  </div>
39</body>
40</html>

grid-x-background-gradient — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match grid-x-background-gradient · gradient-fill-in-cells
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Each cell of a 2x2 grid is filled with a horizontal linear gradient; grid sizing places the cells while the gradient paints across each cell box.

grid-x-flexbox — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match grid-x-flexbox-nested · flex-in-grid-cell
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A flex container (space-between row) nested inside the first grid cell; grid places the cells and the flex distributes three boxes inside one of them.

inline-block-x-vertical-align — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.06% · raw 0.06% (301 px) inline-block-x-vertical-align · baseline-vs-middle-beside-textPASS via CSS-scale observation: conserved sub-CSS coverageAntialiasCoveragemissing 0.2%extra 0.2%ΔE 24.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Two inline-block boxes on a text line, one aligned to the baseline and one to the middle of the line box, sitting next to short text.
regions (106 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Extra295385,25 → 93,3612total 0.06% · largest 0.01%
ColorErr4819585,25 → 95,3617total 0.2% · largest 0.02%
Missing295387,25 → 95,367total 0.06% · largest 0.007664%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage88,36 → 92,360.02ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage93,33 → 94,350.01ΔRGB(98,98,98)antialiasing coverage residue on a shared outline
Extra85,29 → 85,320.01candidate adds paint absent from reference (0.01%)
AntialiasCoverage85,29 → 85,320.01ΔRGB(-67,-67,-67)antialiasing coverage residue on a shared outline
AntialiasCoverage87,32 → 89,350.01ΔRGB(126,126,126)antialiasing coverage residue on a shared outline
AntialiasCoverage89,35 → 92,350.01ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage92,33 → 93,350.01ΔRGB(-115,-115,-115)antialiasing coverage residue on a shared outline
AntialiasCoverage92,27 → 93,280.01ΔRGB(-98,-98,-98)antialiasing coverage residue on a shared outline
AntialiasCoverage86,34 → 88,350.009853ΔRGB(-70,-70,-70)antialiasing coverage residue on a shared outline
AntialiasCoverage93,26 → 94,270.008758ΔRGB(62,62,62)antialiasing coverage residue on a shared outline
Missing95,29 → 95,310.007664candidate lacks paint present in reference (0.007664%)
AntialiasCoverage89,26 → 91,260.007664ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage95,29 → 95,310.007664ΔRGB(73,73,73)antialiasing coverage residue on a shared outline
AntialiasCoverage89,25 → 91,250.006569ΔRGB(8,8,8)antialiasing coverage residue on a shared outline
AntialiasCoverage87,31 → 87,320.006569ΔRGB(56,56,56)antialiasing coverage residue on a shared outline
AntialiasCoverage87,29 → 87,300.005474ΔRGB(22,22,22)antialiasing coverage residue on a shared outline
AntialiasCoverage93,29 → 93,300.005474ΔRGB(-25,-25,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage86,33 → 86,340.005474ΔRGB(-111,-111,-111)antialiasing coverage residue on a shared outline
Missing87,31 → 87,320.004379candidate lacks paint present in reference (0.004379%)
Missing88,28 → 88,280.003284candidate lacks paint present in reference (0.003284%)
Missing95,28 → 95,280.003284candidate lacks paint present in reference (0.003284%)
Missing87,29 → 87,290.003284candidate lacks paint present in reference (0.003284%)
Missing88,32 → 88,330.003284candidate lacks paint present in reference (0.003284%)
Missing95,33 → 95,340.003284candidate lacks paint present in reference (0.003284%)
Extra85,28 → 85,280.003284candidate adds paint absent from reference (0.003284%)
Extra92,28 → 92,280.003284candidate adds paint absent from reference (0.003284%)
Extra93,29 → 93,290.003284candidate adds paint absent from reference (0.003284%)
Extra85,33 → 85,330.003284candidate adds paint absent from reference (0.003284%)
AntialiasCoverage88,25 → 89,250.003284ΔRGB(-65,-65,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage91,25 → 92,250.003284ΔRGB(57,57,57)antialiasing coverage residue on a shared outline
AntialiasCoverage92,25 → 92,260.003284ΔRGB(20,20,20)antialiasing coverage residue on a shared outline
AntialiasCoverage86,28 → 86,280.003284ΔRGB(-73,-73,-73)antialiasing coverage residue on a shared outline
AntialiasCoverage87,28 → 87,280.003284ΔRGB(116,116,116)antialiasing coverage residue on a shared outline
AntialiasCoverage94,28 → 94,280.003284ΔRGB(78,78,78)antialiasing coverage residue on a shared outline
Missing94,27 → 94,270.002190candidate lacks paint present in reference (0.002190%)
Missing88,27 → 88,280.002190candidate lacks paint present in reference (0.002190%)
Missing94,27 → 94,280.002190candidate lacks paint present in reference (0.002190%)
Missing88,33 → 88,340.002190candidate lacks paint present in reference (0.002190%)
Missing94,34 → 94,340.002190candidate lacks paint present in reference (0.002190%)
Extra86,27 → 86,280.002190candidate adds paint absent from reference (0.002190%)
Extra92,27 → 92,280.002190candidate adds paint absent from reference (0.002190%)
Extra93,33 → 93,330.002190candidate adds paint absent from reference (0.002190%)
Extra93,33 → 93,340.002190candidate adds paint absent from reference (0.002190%)
Extra86,34 → 86,340.002190candidate adds paint absent from reference (0.002190%)
AntialiasCoverage88,26 → 88,260.002190ΔRGB(-52,-52,-52)antialiasing coverage residue on a shared outline
AntialiasCoverage89,26 → 89,260.002190ΔRGB(117,117,117)antialiasing coverage residue on a shared outline
AntialiasCoverage91,26 → 92,260.002190ΔRGB(-89,-89,-89)antialiasing coverage residue on a shared outline
AntialiasCoverage86,27 → 86,280.002190ΔRGB(-48,-48,-48)antialiasing coverage residue on a shared outline
AntialiasCoverage88,27 → 88,280.002190ΔRGB(176,176,176)antialiasing coverage residue on a shared outline
AntialiasCoverage94,27 → 94,280.002190ΔRGB(153,153,153)antialiasing coverage residue on a shared outline
Missing91,25 → 91,250.001095candidate lacks paint present in reference (0.001095%)
Missing92,25 → 92,250.001095candidate lacks paint present in reference (0.001095%)
Missing93,26 → 93,260.001095candidate lacks paint present in reference (0.001095%)
Missing93,26 → 93,260.001095candidate lacks paint present in reference (0.001095%)
Missing89,26 → 89,260.001095candidate lacks paint present in reference (0.001095%)
Missing94,26 → 94,260.001095candidate lacks paint present in reference (0.001095%)
Missing89,27 → 89,270.001095candidate lacks paint present in reference (0.001095%)
Missing88,27 → 88,270.001095candidate lacks paint present in reference (0.001095%)
Missing95,33 → 95,330.001095candidate lacks paint present in reference (0.001095%)
Missing88,34 → 88,340.001095candidate lacks paint present in reference (0.001095%)
Missing89,34 → 89,340.001095candidate lacks paint present in reference (0.001095%)
Missing89,35 → 89,350.001095candidate lacks paint present in reference (0.001095%)
Missing94,35 → 94,350.001095candidate lacks paint present in reference (0.001095%)
Missing94,35 → 94,350.001095candidate lacks paint present in reference (0.001095%)
source · cases/interactions/inline-block-x-vertical-align.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>inline-block x vertical-align: baseline alignment beside text</title>
6<style>
7  @page { size: 432px 112px; margin: 0; }
8  html { font-family: ParitySans; line-height: 1.5; }
9  * { margin: 0; box-sizing: border-box; }
10  html, body { background: #ffffff; }
11  .line {
12    width: 380px;
13    margin: 30px 20px;
14    font-family: ParitySerif;
15    font-size: 20px;
16    line-height: 1.4;
17    color: #111111;
18  }
19  /* An inline-block box sits on the text baseline (default vertical-align)
20     next to a second box aligned to the middle of the line box. */
21  .baseline {
22    display: inline-block;
23    width: 36px;
24    height: 36px;
25    border: 2px solid #1d4ed8;
26    background: #bfdbfe;
27    vertical-align: baseline;
28  }
29  .middle {
30    display: inline-block;
31    width: 36px;
32    height: 36px;
33    border: 2px solid #b91c1c;
34    background: #fca5a5;
35    vertical-align: middle;
36  }
37</style>
38</head>
39<body>
40  <p class="line">Ag <span class="baseline"></span> text <span class="middle"></span> Ag</p>
41</body>
42</html>

interaction-product-carrier — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match interaction-product-carrier-control · neutral-same-element-and-nested-control
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Neutral control for the generated Cartesian carrier: one plain node and two identical nested-node compositions, with no family representative styles.

object-fit — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.40% · raw 0.40% (657 px) interactions-object-fit-cover-x-rounded-overflow · cover-rounded-overflow-clipPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 22.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Interaction: object-fit:cover image content is clipped by a rounded overflow:hidden ancestor; catches square image corners escaping the ancestor clip.
regions (1 total; showing 1 representative)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr165749,0 → 50,70657total 1.0% · largest 1.0%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage49,0 → 50,701.0ΔRGB(-68,31,2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-object-fit-cover-x-rounded-overflow.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<style>
6  @page { size: 152px 112px; margin: 0; }
7  html { font-family: ParitySans; line-height: 1.5; }
8  * { margin: 0; box-sizing: border-box; }
9  html, body { background: #ffffff; }
10  .slot {
11    width: 100px;
12    height: 70px;
13    border-radius: 24px;
14    overflow: hidden;
15    background: #c62828;
16  }
17  .slot img {
18    display: block;
19    width: 100px;
20    height: 70px;
21    object-fit: cover;
22    image-rendering: pixelated;
23  }
24</style>
25</head>
26<body>
27  <div class="slot">
28    <img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAFUlEQVR42mM4pqEBR1z1enDEQD0JAMyPHNFwKtUxAAAAAElFTkSuQmCC">
29  </div>
30</body>
31</html>

overflow — 100.00% verified visual parity PASS 2 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.23% · raw 0.24% (1169 px) interactions-positioning-overflow-hidden-x-border-radius · hidden-with-border-radiusPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.2
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Interaction: overflow:hidden combined with border-radius clips the overflowing child to the rounded corners.
regions (205 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr20511692,2 → 158,128325total 0.6% · largest 0.2%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage28,128 → 132,1280.2ΔRGB(0,-3,-6)antialiasing coverage residue on a shared outline
AntialiasCoverage30,2 → 130,20.2ΔRGB(0,-4,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage2,30 → 2,1000.1ΔRGB(0,-4,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage26,2 → 27,20.001962ΔRGB(-1,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage133,2 → 134,20.001962ΔRGB(-1,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage2,26 → 2,270.001962ΔRGB(-1,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage158,26 → 158,270.001962ΔRGB(-1,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage2,103 → 2,1040.001962ΔRGB(0,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage158,103 → 158,1040.001962ΔRGB(0,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage25,128 → 26,1280.001962ΔRGB(-1,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage134,128 → 135,1280.001962ΔRGB(-1,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage23,3 → 23,30.001471ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage137,3 → 137,30.001471ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage3,23 → 3,230.001471ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage157,23 → 157,230.001471ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage3,105 → 3,1060.001471ΔRGB(0,-2,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage157,105 → 157,1060.001471ΔRGB(0,-2,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage3,107 → 3,1070.001471ΔRGB(0,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage157,107 → 157,1070.001471ΔRGB(0,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage12,121 → 12,1220.001471ΔRGB(-1,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage148,121 → 148,1220.001471ΔRGB(-1,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage22,127 → 23,1270.001471ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage137,127 → 138,1270.001471ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage24,127 → 24,1270.001471ΔRGB(0,-2,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage136,127 → 136,1270.001471ΔRGB(0,-2,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage24,3 → 25,30.000981ΔRGB(0,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage135,3 → 136,30.000981ΔRGB(0,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage22,3 → 22,30.000981ΔRGB(0,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage138,3 → 138,30.000981ΔRGB(0,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage21,4 → 21,40.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage139,4 → 139,40.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage20,4 → 20,40.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage140,4 → 140,40.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage18,4 → 19,40.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage141,4 → 142,40.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage18,5 → 18,50.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage142,5 → 142,50.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage17,5 → 17,50.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage143,5 → 143,50.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage5,17 → 5,170.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage155,17 → 155,170.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage5,18 → 5,180.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage155,18 → 155,180.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage4,18 → 4,190.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage156,18 → 156,190.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage4,20 → 4,200.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage156,20 → 156,200.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage4,21 → 4,210.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage156,21 → 156,210.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage3,22 → 3,220.000981ΔRGB(0,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage157,22 → 157,220.000981ΔRGB(0,-2,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage3,24 → 3,250.000981ΔRGB(0,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage157,24 → 157,250.000981ΔRGB(0,-2,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage3,108 → 3,1080.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage157,108 → 157,1080.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage4,109 → 4,1090.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage156,109 → 156,1090.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage4,110 → 4,1100.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage156,110 → 156,1100.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage4,111 → 4,1120.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage156,111 → 156,1120.000981ΔRGB(0,-1,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage5,112 → 5,1120.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage155,112 → 155,1120.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage5,113 → 5,1130.000981ΔRGB(0,-1,-2)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-positioning-overflow-hidden-x-border-radius.html
1<!DOCTYPE html>
2<html>
3<head>
4<meta charset="utf-8">
5<style>
6  @page { size: 280px 176px; margin: 0; }
7  html { font-family: ParitySans; line-height: 1.5; }
8  * { margin: 0; box-sizing: border-box; }
9  body { background: #ffffff; }
10  .wrap { padding: 20px; }
11  /* interaction: overflow:hidden combined with border-radius clips the
12     overflowing child to the rounded corners of the clip box */
13  .clip {
14    overflow: hidden;
15    border-radius: 30px;
16    width: 160px;
17    height: 130px;
18    background: #fdf3e7;
19    border: 2px solid #8a4910;
20  }
21  .child {
22    width: 240px;
23    height: 200px;
24    background: #e67e22;
25  }
26</style>
27</head>
28<body>
29  <div class="wrap">
30    <div class="clip">
31      <div class="child"></div>
32    </div>
33  </div>
34</body>
35</html>
PASS exact match interactions-overflow-hidden-x-transform-clip · transformed-descendant-clip
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: overflow:hidden clips a child after transform:translate moves it partly outside the container; catches clipping before transforms or leaking transformed visual overflow.

overflow-hidden-x-border-radius — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.12% · raw 0.15% (969 px) box-model-overflow-hidden-x-border-radius · rounded-clip-of-childPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 1.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
A rounded container with overflow:hidden clips a square filled child to its rounded corners, cutting away the child's corners.
regions (277 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr2779692,2 → 158,158265total 0.4% · largest 0.1%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage158,38 → 158,1220.1ΔRGB(-6,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage38,158 → 122,1580.1ΔRGB(-6,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage36,2 → 37,20.002390ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage123,2 → 124,20.002390ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage2,36 → 2,370.002390ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage2,123 → 2,1240.002390ΔRGB(-2,-1,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage26,4 → 27,50.001992ΔRGB(-3,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage4,26 → 5,270.001992ΔRGB(-3,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage158,35 → 158,360.001992ΔRGB(-6,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage35,158 → 36,1580.001992ΔRGB(-6,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage34,3 → 35,30.001594ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage3,34 → 3,350.001594ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage158,124 → 158,1250.001594ΔRGB(-6,-5,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage124,158 → 125,1580.001594ΔRGB(-6,-5,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage126,3 → 126,30.001195ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage32,3 → 33,30.001195ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
ColorValue129,3 → 130,30.001195ΔRGB(-2,-1,-1)fill recolour ΔRGB(-2,-1,-1) (ΔE 0)
AntialiasCoverage133,4 → 134,40.001195ΔRGB(-4,-3,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage157,31 → 157,320.001195ΔRGB(-4,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage3,32 → 3,330.001195ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage157,33 → 157,340.001195ΔRGB(-6,-5,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage3,126 → 3,1260.001195ΔRGB(-3,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage157,127 → 157,1270.001195ΔRGB(-6,-5,-4)antialiasing coverage residue on a shared outline
ColorValue3,129 → 3,1300.001195ΔRGB(-2,-1,-1)fill recolour ΔRGB(-2,-1,-1) (ΔE 0)
AntialiasCoverage4,133 → 4,1340.001195ΔRGB(-4,-3,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage31,157 → 32,1570.001195ΔRGB(-4,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage33,157 → 34,1570.001195ΔRGB(-6,-5,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage127,157 → 127,1570.001195ΔRGB(-6,-5,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage128,3 → 128,30.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
ColorValue31,3 → 31,30.000797ΔRGB(-2,-2,-1)fill recolour ΔRGB(-2,-2,-1) (ΔE 0)
AntialiasCoverage29,4 → 30,40.000797ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage130,4 → 131,40.000797ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage28,4 → 29,40.000797ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage28,4 → 28,40.000797ΔRGB(-4,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage132,4 → 132,40.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage134,5 → 134,50.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage25,5 → 25,50.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage135,5 → 135,50.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage24,5 → 25,50.000797ΔRGB(-4,-3,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage24,6 → 24,60.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage23,6 → 23,60.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage22,6 → 23,60.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage22,7 → 22,70.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage21,7 → 21,70.000797ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage139,7 → 140,70.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage141,8 → 141,80.000797ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage19,9 → 19,90.000797ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage143,10 → 143,100.000797ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage16,11 → 16,110.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage145,12 → 145,120.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage11,16 → 11,160.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage151,18 → 151,180.000797ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage9,19 → 9,190.000797ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage152,20 → 152,200.000797ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage7,21 → 7,210.000797ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage153,21 → 153,220.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage7,22 → 7,220.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage154,22 → 154,220.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage6,22 → 6,230.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage154,23 → 154,230.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage6,23 → 6,230.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage154,23 → 154,240.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage6,24 → 6,240.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage155,24 → 155,240.000797ΔRGB(-2,-2,-1)antialiasing coverage residue on a shared outline
source · cases/interactions/box-model-overflow-hidden-x-border-radius.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>overflow-hidden x border-radius: rounded clip of overflowing child</title>
6<style>
7  @page { size: 304px 224px; margin: 0; }
8  html { font-family: ParitySans; line-height: 1.5; }
9  * { margin: 0; box-sizing: border-box; }
10  html, body { background: #ffffff; }
11  /* A rounded container with overflow:hidden must clip the square child to the
12     rounded corners, so the corners of the child are cut away. */
13  .clip {
14    width: 160px;
15    height: 160px;
16    margin: 30px;
17    border: 2px solid #222222;
18    border-radius: 40px;
19    overflow: hidden;
20    background: #e2e8f0;
21  }
22  .fill {
23    width: 160px;
24    height: 160px;
25    background: #f97316;
26    border: 2px solid #7c2d12;
27  }
28</style>
29</head>
30<body>
31  <div class="clip">
32    <div class="fill"></div>
33  </div>
34</body>
35</html>

percentage-height-x-nested-block — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match block-percentage-height-x-nested-containers · height-chain-resolution
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A definite outer height propagates so a chain of percentage-height nested blocks each resolve against their parent (240 -> 120 -> 60).

position — 100.00% verified visual parity PASS 4 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match interactions-absolute-percent-insets-x-transformed-cb · percent-insets-transformed-containing-block
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: absolute percentage insets resolve inside a transformed containing block, not the page; catches wrong percentage bases or missing transform containing-block behavior.
PASS exact match interactions-positioning-absolute-x-transforms-rotate · absolute-rotated
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: an absolutely positioned box that is also rotated; position resolves first, then transform rotates about its center.
PASS exact match interactions-positioning-fixed-x-transforms-translate · fixed-translated
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: a fixed-position box that is then translated by a transform; position resolves against the page box, then translate shifts it.
PASS exact match interactions-positioning-relative-x-inline-block · relative-on-inline-block
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: position:relative offset applied to a middle inline-block; its in-flow inline slot is preserved.

positioning-x-flexbox — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match positioning-absolute-x-flexbox · absolute-child-in-flex
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
An absolutely-positioned child pinned to a corner of a relatively-positioned flex container, taken out of flow while the flex items lay out normally.

positioning-x-grid — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match positioning-absolute-x-grid · absolute-child-in-grid
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
An absolutely-positioned child offset from a corner of a relatively-positioned grid container, removed from grid placement while the cells lay out.

supports — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match interactions-supports-flow-root-containment · flow-root-query-and-layout
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: @supports(display:flow-root) must both query true and lay out flow-root float containment before the following red block; catches query-only support without layout.

tables-x-flexbox — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match tables-x-flexbox-nested · table-in-flex-item
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A bordered 2x2 table laid out inside a flex item; the flex layout sizes the item around the table's intrinsic grid.

tables-x-typography — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match tables-x-typography-bold · bold-header-cells
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A bordered table whose thead cells use bold typography; table cell layout coexists with the heavier glyph weight in the header row.

transform — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match interactions-transform-box-border-box-translate-percent · transform-box-border-box-translate-percent
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: transform-box:border-box makes translateX(100%) resolve against the padded, bordered border box; catches content-box or parent-width percentage bases.

transforms-x-flexbox — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match transforms-rotate-x-flexbox-item · rotate-on-flex-item
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A rotate transform on the middle flex item is purely visual and must not change flex layout; the third item keeps its untransformed slot.

transforms-x-font-synthesis — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.32% · raw 0.35% (6122 px) interactions-transforms-x-font-synthesis-matrix · transform-font-synthesis-cartesian-matrixPASS via CSS-scale observation: one-sided sub-CSS outline coverageAntialiasCoveragemissing 0.2%ΔE 9.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
A Cartesian matrix composes rotate, non-uniform scale, skew, and compound transforms with regular, synthetic bold, synthetic oblique, and synthetic bold-oblique text. The standards-derived reference materializes CSS Fonts 4's required 20deg glyph-local shear because Chromium print substitutes its default italic synthesis, then composes each outer transform normally. Catches text-matrix shear or synthetic-weight behavior that changes sign, origin, or paint order only inside a transformed graphics state.
regions (209 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Missing41420136,5 → 249,173355total 0.1% · largest 0.03%
ColorErr2054702136,5 → 519,218494total 0.4% · largest 0.04%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage136,5 → 249,500.04ΔRGB(-46,-45,-39)antialiasing coverage residue on a shared outline
AntialiasCoverage136,61 → 249,1060.04ΔRGB(-46,-45,-39)antialiasing coverage residue on a shared outline
AntialiasCoverage136,117 → 249,1620.04ΔRGB(-46,-45,-39)antialiasing coverage residue on a shared outline
AntialiasCoverage136,173 → 249,2180.04ΔRGB(-46,-45,-39)antialiasing coverage residue on a shared outline
AntialiasCoverage137,6 → 248,490.04ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage137,62 → 248,1050.04ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage137,118 → 248,1610.04ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage137,174 → 248,2170.04ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
Missing136,5 → 249,50.03candidate lacks paint present in reference (0.03%)
Missing136,61 → 249,610.03candidate lacks paint present in reference (0.03%)
Missing136,117 → 249,1170.03candidate lacks paint present in reference (0.03%)
Missing136,173 → 249,1730.03candidate lacks paint present in reference (0.03%)
AntialiasCoverage504,23 → 512,260.003264ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage476,24 → 479,290.002491ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage481,23 → 486,260.002233ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage509,28 → 512,310.002061ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage481,27 → 482,330.001975ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage443,37 → 448,380.001975ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage462,23 → 468,240.001804ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage444,24 → 448,260.001460ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage485,18 → 487,200.001374ΔRGB(-1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage505,20 → 509,200.001374ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage428,28 → 429,320.001374ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage442,38 → 445,400.001374ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage488,22 → 488,260.001202ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage488,26 → 488,300.001202ΔRGB(3,3,3)antialiasing coverage residue on a shared outline
AntialiasCoverage494,21 → 497,210.001031ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage429,25 → 430,280.001031ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage427,32 → 428,350.001031ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage481,18 → 484,180.000945ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage479,19 → 479,220.000945ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage430,22 → 431,250.000945ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage432,24 → 433,260.000945ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage480,30 → 480,330.000945ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage429,33 → 429,360.000945ΔRGB(1,2,1)antialiasing coverage residue on a shared outline
AntialiasCoverage475,18 → 477,180.000773ΔRGB(-3,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage426,36 → 427,370.000773ΔRGB(-2,-3,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage492,22 → 492,230.000687ΔRGB(-2,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage488,31 → 488,330.000687ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage447,32 → 448,330.000687ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage485,17 → 487,180.000601ΔRGB(-3,-3,-3)antialiasing coverage residue on a shared outline
AntialiasCoverage481,20 → 481,220.000601ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage460,24 → 461,250.000601ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage474,24 → 476,240.000601ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage505,29 → 506,290.000601ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage492,31 → 494,320.000601ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage443,33 → 444,340.000601ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage498,23 → 499,230.000515ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage443,25 → 444,250.000515ΔRGB(3,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage442,30 → 442,320.000515ΔRGB(3,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage497,30 → 499,310.000515ΔRGB(2,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage473,19 → 474,190.000429ΔRGB(-1,-2,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage474,20 → 475,200.000429ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage509,23 → 510,240.000429ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage442,28 → 442,290.000429ΔRGB(2,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage499,31 → 500,320.000429ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage437,35 → 437,360.000429ΔRGB(2,1,2)antialiasing coverage residue on a shared outline
AntialiasCoverage498,21 → 499,210.000344ΔRGB(-2,-2,-2)antialiasing coverage residue on a shared outline
AntialiasCoverage508,21 → 508,220.000344ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage481,22 → 482,220.000344antialiasing coverage residue on a shared outline
AntialiasCoverage494,23 → 495,230.000344ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage471,24 → 471,240.000344ΔRGB(2,3,2)antialiasing coverage residue on a shared outline
AntialiasCoverage432,25 → 432,260.000344ΔRGB(0,-1,0)antialiasing coverage residue on a shared outline
AntialiasCoverage492,30 → 492,310.000344ΔRGB(-1,-1,0)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-transforms-x-font-synthesis-matrix.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>transforms x font synthesis matrix</title>
6<style>
7  @page { size: 680px 264px; margin: 0; }
8  @font-face {
9    font-family: MatrixSans;
10    src: url('../../fonts/ParitySans.ttf') format('truetype');
11    font-style: normal;
12    font-weight: 400;
13  }
14  html { font-family: ParitySans; line-height: 1.5; }
15  * { margin: 0; box-sizing: border-box; }
16  html, body { background: #ffffff; }
17  body { padding: 18px; color: #111111; }
18  .row { height: 56px; font-size: 0; line-height: 0; white-space: nowrap; }
19  .label {
20    display: inline-block;
21    width: 92px;
22    height: 40px;
23    border: 1px solid transparent;
24    font: 12px/38px ParitySans;
25    vertical-align: top;
26  }
27  .sample {
28    display: inline-block;
29    width: 126px;
30    height: 40px;
31    margin-right: 8px;
32    border: 1px solid #64748b;
33    background: #e0f2fe;
34    color: #172554;
35    font-family: MatrixSans;
36    font-size: 20px;
37    line-height: 38px;
38    text-align: center;
39    vertical-align: top;
40  }
41  .rotate { transform: rotate(7deg); transform-origin: center; }
42  .scale { transform: scale(.9, 1.12); transform-origin: left center; }
43  .skew { transform: skewX(-10deg); transform-origin: center bottom; }
44  .compound {
45    transform: translate(3px, 2px) rotate(-4deg);
46    transform-origin: 20% 70%;
47  }
48  .bold { font-weight: bold; }
49  .oblique { font-style: oblique 20deg; }
50  .bold-oblique { font: italic bold 20px/38px MatrixSans; }
51</style>
52</head>
53<body>
54  <div class="row">
55    <span class="label" aria-label="normal"></span><span class="sample rotate">Ag office</span><span class="sample scale">Ag office</span><span class="sample skew">Ag office</span><span class="sample compound">Ag office</span>
56  </div>
57  <div class="row">
58    <span class="label" aria-label="bold"></span><span class="sample bold rotate">Ag office</span><span class="sample bold scale">Ag office</span><span class="sample bold skew">Ag office</span><span class="sample bold compound">Ag office</span>
59  </div>
60  <div class="row">
61    <span class="label" aria-label="oblique"></span><span class="sample oblique rotate">Ag office</span><span class="sample oblique scale">Ag office</span><span class="sample oblique skew">Ag office</span><span class="sample oblique compound">Ag office</span>
62  </div>
63  <div class="row">
64    <span class="label" aria-label="bold italic"></span><span class="sample bold-oblique rotate">Ag office</span><span class="sample bold-oblique scale">Ag office</span><span class="sample bold-oblique skew">Ag office</span><span class="sample bold-oblique compound">Ag office</span>
65  </div>
66</body>
67</html>

z-index — 100.00% verified visual parity PASS 5 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.12% · raw 0.14% (4892 px) interactions-z-index-context-boundaries · atomic-stacking-context-triggersPASS via CSS-scale observation: one-sided sub-CSS outline coverageAntialiasCoveragemissing 0.04%ΔE 14.5
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Large overlaps distinguish descendant escape from atomic contexts created by integer z-index, fixed, sticky, opacity, transforms, perspective, filters, isolation, blending, and masking.
regions (6 total; showing 6 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr43942196,152 → 660,2922350total 0.1% · largest 0.08%
Missing2950504,152 → 664,296500total 0.03% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage508,156 → 660,2920.08ΔRGB(-19,-8,0)antialiasing coverage residue on a shared outline
AntialiasCoverage196,180 → 284,2680.03ΔRGB(1,0,0)antialiasing coverage residue on a shared outline
AntialiasCoverage364,180 → 452,2680.02ΔRGB(-4,68,61)antialiasing coverage residue on a shared outline
Missing504,152 → 664,1520.02candidate lacks paint present in reference (0.02%)
Missing504,152 → 504,2960.02candidate lacks paint present in reference (0.02%)
AntialiasCoverage504,152 → 504,1520.000035ΔRGB(5,5,4)antialiasing coverage residue on a shared outline
source · cases/interactions/interactions-z-index-context-boundaries.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>z-index stacking context boundaries</title>
6<style>
7@page { size: 1040px 336px; margin: 0; }
8* { box-sizing: border-box; margin: 0; padding: 0; }
9html, body { width: 1040px; height: 336px; background: #fff; }
10.panel {
11  position: absolute;
12  z-index: 0;
13  width: 160px;
14  height: 144px;
15  overflow: hidden;
16  border: 4px solid #111827;
17  background: #e5e7eb;
18}
19.p1 { left: 16px; top: 16px; }
20.p2 { left: 184px; top: 16px; }
21.p3 { left: 352px; top: 16px; }
22.p4 { left: 520px; top: 16px; }
23.p5 { left: 688px; top: 16px; }
24.p6 { left: 856px; top: 16px; }
25.p7 { left: 16px; top: 168px; }
26.p8 { left: 184px; top: 168px; }
27.p9 { left: 352px; top: 168px; }
28.p10 { left: 520px; top: 168px; }
29.p11 { left: 688px; top: 168px; }
30.trap { position: absolute; left: 12px; top: 12px; width: 104px; height: 96px; }
31.high { position: absolute; z-index: 100; left: 12px; top: 12px; width: 88px; height: 88px; background: #ef233c; }
32.cap { position: absolute; z-index: 1; left: 52px; top: 48px; width: 88px; height: 88px; background: #2563eb; }
33.integer .trap { z-index: 0; }
34.fixed .trap { position: fixed; left: 364px; top: 28px; }
35.sticky .trap { position: sticky; margin-left: 12px; margin-top: 12px; }
36.opacity .trap { opacity: .99; }
37.transform .trap { transform: translate(0); }
38.perspective .trap { perspective: 400px; }
39.filter .trap { filter: brightness(1); }
40.isolation .trap { isolation: isolate; }
41.blend .trap { mix-blend-mode: multiply; }
42.mask .trap { mask-image: linear-gradient(#000, #000); }
43</style>
44</head>
45<body>
46<section class="panel p1 control"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
47<section class="panel p2 integer"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
48<section class="panel p3 fixed"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
49<section class="panel p4 sticky"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
50<section class="panel p5 opacity"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
51<section class="panel p6 transform"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
52<section class="panel p7 perspective"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
53<section class="panel p8 filter"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
54<section class="panel p9 isolation"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
55<section class="panel p10 blend"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
56<section class="panel p11 mask"><div class="trap"><div class="high"></div></div><div class="cap"></div></section>
57</body>
58</html>
PASS exact match interactions-positioning-z-index-x-backgrounds-gradient · with-gradient
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Interaction: z-index stacking where the upper positioned box carries a linear-gradient background over a lower solid box.
PASS exact match interactions-z-index-core-layers · core-layers-and-descendant-escape
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Flagrant overlaps cover positive and negative layers, auto/zero tree order, and a positive positioned descendant escaping an ordinary ancestor.
PASS exact match interactions-z-index-flex-grid-items · static-flex-grid-items-and-order
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Flagrant flex and grid overlaps cover static integer z-index, order-modified painting, and atomic item contexts containing high-z descendants.
PASS exact match interactions-z-index-generated-replaced-svg · generated-pseudo-raster-vector-content
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Large overlaps cover before/after pseudo-elements, generated PNG and SVG content, PNG and JPEG replaced elements, SVG images, and inline SVG paint order.

z-index-x-transforms — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match positioning-zindex-x-transforms-rotate · stacking-with-transformed-box
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Three overlapping positioned boxes where a rotated, transformed high-z box must paint on top of the lower-z plain positioned boxes.