WRDP QuizWizz UI/UX round F — recorded metric comparison

Summary

Processed 18 pairs / 36 source JSON files: 366 rows47 good, 25 bad (worsened), 294 neutral. One metric is absent on the after side and retained as a neutral null comparison. These are arithmetic classifications of recorded observations, not causal regression findings.

Methodology

  • scope: Recorded evidence only: 18 matching shot/viewport JSON pairs (36 source files), J1-J5/Q1/L1/D1/S1 × desktop/mobile. No browser, bench, product code, test, gate, build, or formatter was run.

  • extraction: Union of every top-level JSON number (booleans excluded) and every recursive numeric owned.* leaf on either side; additionally boolean hOverflow is encoded 0/1 and consoleErrors/pageErrors arrays are counted as .count metrics. Numeric array leaves under owned use zero-based dotted index paths. Other nested samples/arrays are not numeric metrics in this scope.

  • missing: A metric present numerically on only one side is retained with null for the absent/non-numeric side, null delta and neutral direction. No synthetic zero is inserted for an absent error array. A metric absent on both sides does not create a row.

  • delta: after - before, using the recorded numeric values without rounding; null unless both sides are numeric.

  • direction: good/bad express only the requested arithmetic preference, not a causal or statistically established regression. Equal values are neutral. Missing-side comparisons and context-dependent/unrecognized metrics are neutral regardless of arithmetic delta.

  • Lower is good: chromeTax, consoleErrors.count, contrastFails, contrastFailsOwned, contrastUnresolved, focusClipped, hOverflow, hoverOnly, measureMs, overflowingOwned, pageErrors.count, smallPrimary, smallPrimaryOwned, smallTargets, smallTargetsOwned, tDom, tinyText, tinyTextOwned.

  • Higher is good: visibleIndicators.

  • Owned metrics: Apply the equivalent non-owned metric rule to owned.* paths (whole stripped path first, then leaf name); unrecognized leaves remain neutral. No nested numeric owned.* leaves occur in these 36 records; top-level *Owned counters are included.

  • Unrecognized metrics: Explicit neutral direction: no recognized directional rule; do not infer UX quality. None observed.

Context-dependent neutral rules

  • nodes: DOM size is context-dependent; more or fewer nodes alone does not establish UX quality.
  • stickyCount: Sticky-element count is context-dependent; count alone does not establish obstruction or usefulness.
  • textElements: Visible text-element count depends on content and layout; direction alone is not a UX verdict.
  • interactive: Interactive-element count depends on available controls and state; direction alone is not a UX verdict.
  • status: PDF HTTP status is categorical context, not an ordinal UX metric; arithmetic direction is not a success classification.
  • bytes: PDF size depends on generated content and encoding; byte differences alone are not UX regressions.
  • pageCount: PDF pagination depends on generated content and layout; page-count differences alone are not UX regressions.
  • pdfjsPages: PDF.js page count is rendering/content context; differences or absent records alone are not UX regressions.

Interpretation limits

  • Single recorded before/after observations are not repeated, quiescent A/B performance experiments. tDom and measureMs changes are listed by the mandated direction rule, not attributed to the patch.
  • Defect totals and their Owned subsets overlap; row counts are not counts of unique defects. Do not sum overlapping categories into a unique-defect total.
  • visibleIndicators is a recorded count, not a normalized success rate; tab sequence/content differences are not controlled by this arithmetic comparison.
  • PDF bytes/page counts are context-dependent; generated-content differences alone are not UX regressions. J5-desktop pageCountSource changes from pdf-preview response page_count to pdf.js numPages, while pageCount remains 3. Its separate pdfjsPages is absent after and remains a neutral null comparison.
  • No causal claim is made. Any proposed explanation beyond these recorded observations requires an [INFERENCE] label and independent investigation.

Coverage proof

Independent iterative enumeration verified every top-level numeric value and recursive numeric owned.* leaf against extraction, then verified the exact before/after metric union for each shot. Assertions covered 18 unique pairs, unique shot/metric keys, all deltas and null handling. The corpus contains 635 top-level numeric values, 0 nested owned numeric values, and 96 derived hOverflow/error-count values across both sides. No metric rows were missing or unexpected.

shotbefore metricsafter metricsunion rows
J1-desktop232323
J1-mobile232323
J2-desktop222222
J2-mobile222222
J3-desktop222222
J3-mobile222222
J4-desktop222222
J4-mobile222222
J5-desktop434
J5-mobile444
Q1-desktop212121
Q1-mobile212121
L1-desktop232323
L1-mobile232323
D1-desktop232323
D1-mobile232323
S1-desktop232323
S1-mobile232323

Source pattern: ../{before,after}/{shot}.json. Shot set: J1, J2, J3, J4, J5, Q1, L1, D1, S1, each desktop and mobile. Error-count/hOverflow rows exist only where those arrays/boolean were recorded; the PDF-only J5 records do not contain them.

Complete metric table

shotmetricbeforeafterdeltadirection
J1-desktopchromeTax2102100neutral
J1-desktopconsoleErrors.count000neutral
J1-desktopcontrastFails000neutral
J1-desktopcontrastFailsOwned000neutral
J1-desktopcontrastUnresolved000neutral
J1-desktopfocusClipped000neutral
J1-desktophOverflow000neutral
J1-desktophoverOnly000neutral
J1-desktopinteractive32320neutral
J1-desktopmeasureMs447532+85bad
J1-desktopnodes632633+1neutral
J1-desktopoverflowingOwned000neutral
J1-desktoppageErrors.count000neutral
J1-desktopsmallPrimary000neutral
J1-desktopsmallPrimaryOwned000neutral
J1-desktopsmallTargets880neutral
J1-desktopsmallTargetsOwned000neutral
J1-desktopstickyCount330neutral
J1-desktoptDom641627-14good
J1-desktoptextElements4041+1neutral
J1-desktoptinyText10-1good
J1-desktoptinyTextOwned10-1good
J1-desktopvisibleIndicators990neutral
J1-mobilechromeTax1261260neutral
J1-mobileconsoleErrors.count000neutral
J1-mobilecontrastFails000neutral
J1-mobilecontrastFailsOwned000neutral
J1-mobilecontrastUnresolved000neutral
J1-mobilefocusClipped000neutral
J1-mobilehOverflow000neutral
J1-mobilehoverOnly000neutral
J1-mobileinteractive32320neutral
J1-mobilemeasureMs540545+5bad
J1-mobilenodes632633+1neutral
J1-mobileoverflowingOwned000neutral
J1-mobilepageErrors.count000neutral
J1-mobilesmallPrimary110neutral
J1-mobilesmallPrimaryOwned000neutral
J1-mobilesmallTargets770neutral
J1-mobilesmallTargetsOwned000neutral
J1-mobilestickyCount330neutral
J1-mobiletDom598666+68bad
J1-mobiletextElements3940+1neutral
J1-mobiletinyText10-1good
J1-mobiletinyTextOwned10-1good
J1-mobilevisibleIndicators990neutral
J2-desktopchromeTax2102100neutral
J2-desktopconsoleErrors.count000neutral
J2-desktopcontrastFails000neutral
J2-desktopcontrastFailsOwned000neutral
J2-desktopcontrastUnresolved000neutral
J2-desktopfocusClipped000neutral
J2-desktophOverflow000neutral
J2-desktophoverOnly000neutral
J2-desktopinteractive32320neutral
J2-desktopmeasureMs477665+188bad
J2-desktopnodes627628+1neutral
J2-desktopoverflowingOwned000neutral
J2-desktoppageErrors.count000neutral
J2-desktopsmallPrimary000neutral
J2-desktopsmallPrimaryOwned000neutral
J2-desktopsmallTargets880neutral
J2-desktopsmallTargetsOwned000neutral
J2-desktopstickyCount330neutral
J2-desktoptextElements4041+1neutral
J2-desktoptinyText10-1good
J2-desktoptinyTextOwned10-1good
J2-desktopvisibleIndicators770neutral
J2-mobilechromeTax1261260neutral
J2-mobileconsoleErrors.count000neutral
J2-mobilecontrastFails000neutral
J2-mobilecontrastFailsOwned000neutral
J2-mobilecontrastUnresolved000neutral
J2-mobilefocusClipped000neutral
J2-mobilehOverflow000neutral
J2-mobilehoverOnly000neutral
J2-mobileinteractive32320neutral
J2-mobilemeasureMs331574+243bad
J2-mobilenodes627628+1neutral
J2-mobileoverflowingOwned000neutral
J2-mobilepageErrors.count000neutral
J2-mobilesmallPrimary110neutral
J2-mobilesmallPrimaryOwned000neutral
J2-mobilesmallTargets770neutral
J2-mobilesmallTargetsOwned000neutral
J2-mobilestickyCount330neutral
J2-mobiletextElements3940+1neutral
J2-mobiletinyText10-1good
J2-mobiletinyTextOwned10-1good
J2-mobilevisibleIndicators770neutral
J3-desktopchromeTax80800neutral
J3-desktopconsoleErrors.count000neutral
J3-desktopcontrastFails000neutral
J3-desktopcontrastFailsOwned000neutral
J3-desktopcontrastUnresolved000neutral
J3-desktopfocusClipped000neutral
J3-desktophOverflow000neutral
J3-desktophoverOnly10-1good
J3-desktopinteractive1101100neutral
J3-desktopmeasureMs26641099-1565good
J3-desktopnodes11731174+1neutral
J3-desktopoverflowingOwned000neutral
J3-desktoppageErrors.count000neutral
J3-desktopsmallPrimary000neutral
J3-desktopsmallPrimaryOwned000neutral
J3-desktopsmallTargets14140neutral
J3-desktopsmallTargetsOwned660neutral
J3-desktopstickyCount330neutral
J3-desktoptextElements1491490neutral
J3-desktoptinyText20-2good
J3-desktoptinyTextOwned20-2good
J3-desktopvisibleIndicators40400neutral
J3-mobilechromeTax76760neutral
J3-mobileconsoleErrors.count000neutral
J3-mobilecontrastFails000neutral
J3-mobilecontrastFailsOwned000neutral
J3-mobilecontrastUnresolved000neutral
J3-mobilefocusClipped000neutral
J3-mobilehOverflow000neutral
J3-mobilehoverOnly000neutral
J3-mobileinteractive1101100neutral
J3-mobilemeasureMs24951462-1033good
J3-mobilenodes11731174+1neutral
J3-mobileoverflowingOwned000neutral
J3-mobilepageErrors.count000neutral
J3-mobilesmallPrimary81-7good
J3-mobilesmallPrimaryOwned70-7good
J3-mobilesmallTargets2113-8good
J3-mobilesmallTargetsOwned146-8good
J3-mobilestickyCount330neutral
J3-mobiletextElements1481480neutral
J3-mobiletinyText20-2good
J3-mobiletinyTextOwned20-2good
J3-mobilevisibleIndicators40400neutral
J4-desktopchromeTax80800neutral
J4-desktopconsoleErrors.count000neutral
J4-desktopcontrastFails000neutral
J4-desktopcontrastFailsOwned000neutral
J4-desktopcontrastUnresolved000neutral
J4-desktopfocusClipped000neutral
J4-desktophOverflow000neutral
J4-desktophoverOnly10-1good
J4-desktopinteractive1101100neutral
J4-desktopmeasureMs2685587-2098good
J4-desktopnodes11731174+1neutral
J4-desktopoverflowingOwned000neutral
J4-desktoppageErrors.count000neutral
J4-desktopsmallPrimary000neutral
J4-desktopsmallPrimaryOwned000neutral
J4-desktopsmallTargets14140neutral
J4-desktopsmallTargetsOwned660neutral
J4-desktopstickyCount330neutral
J4-desktoptextElements1491490neutral
J4-desktoptinyText20-2good
J4-desktoptinyTextOwned20-2good
J4-desktopvisibleIndicators4011-29bad
J4-mobilechromeTax76760neutral
J4-mobileconsoleErrors.count000neutral
J4-mobilecontrastFails000neutral
J4-mobilecontrastFailsOwned000neutral
J4-mobilecontrastUnresolved000neutral
J4-mobilefocusClipped000neutral
J4-mobilehOverflow000neutral
J4-mobilehoverOnly10-1good
J4-mobileinteractive1101100neutral
J4-mobilemeasureMs2447548-1899good
J4-mobilenodes11731174+1neutral
J4-mobileoverflowingOwned000neutral
J4-mobilepageErrors.count000neutral
J4-mobilesmallPrimary81-7good
J4-mobilesmallPrimaryOwned70-7good
J4-mobilesmallTargets2113-8good
J4-mobilesmallTargetsOwned146-8good
J4-mobilestickyCount330neutral
J4-mobiletextElements1481480neutral
J4-mobiletinyText20-2good
J4-mobiletinyTextOwned20-2good
J4-mobilevisibleIndicators4011-29bad
J5-desktopbytes140081139668-413neutral
J5-desktoppageCount330neutral
J5-desktoppdfjsPages3nullnullneutral
J5-desktopstatus2002000neutral
J5-mobilebytes163765162599-1166neutral
J5-mobilepageCount330neutral
J5-mobilepdfjsPages330neutral
J5-mobilestatus2002000neutral
Q1-desktopchromeTax1991990neutral
Q1-desktopconsoleErrors.count000neutral
Q1-desktopcontrastFails110neutral
Q1-desktopcontrastFailsOwned000neutral
Q1-desktopcontrastUnresolved000neutral
Q1-desktophOverflow000neutral
Q1-desktophoverOnly000neutral
Q1-desktopinteractive6286280neutral
Q1-desktopmeasureMs11171009-108good
Q1-desktopnodes31663167+1neutral
Q1-desktopoverflowingOwned000neutral
Q1-desktoppageErrors.count000neutral
Q1-desktopsmallPrimary13130neutral
Q1-desktopsmallPrimaryOwned000neutral
Q1-desktopsmallTargets5495490neutral
Q1-desktopsmallTargetsOwned10100neutral
Q1-desktopstickyCount21210neutral
Q1-desktoptDom9861598+612bad
Q1-desktoptextElements640641+1neutral
Q1-desktoptinyText330neutral
Q1-desktoptinyTextOwned000neutral
Q1-mobilechromeTax2742740neutral
Q1-mobileconsoleErrors.count000neutral
Q1-mobilecontrastFails110neutral
Q1-mobilecontrastFailsOwned000neutral
Q1-mobilecontrastUnresolved000neutral
Q1-mobilehOverflow10-1good
Q1-mobilehoverOnly000neutral
Q1-mobileinteractive5745740neutral
Q1-mobilemeasureMs9441496+552bad
Q1-mobilenodes31673168+1neutral
Q1-mobileoverflowingOwned19190neutral
Q1-mobilepageErrors.count000neutral
Q1-mobilesmallPrimary17170neutral
Q1-mobilesmallPrimaryOwned110neutral
Q1-mobilesmallTargets5185180neutral
Q1-mobilesmallTargetsOwned12120neutral
Q1-mobilestickyCount21210neutral
Q1-mobiletDom10511227+176bad
Q1-mobiletextElements580581+1neutral
Q1-mobiletinyText000neutral
Q1-mobiletinyTextOwned000neutral
L1-desktopchromeTax3703700neutral
L1-desktopconsoleErrors.count000neutral
L1-desktopcontrastFails440neutral
L1-desktopcontrastFailsOwned000neutral
L1-desktopcontrastUnresolved000neutral
L1-desktopfocusClipped000neutral
L1-desktophOverflow000neutral
L1-desktophoverOnly000neutral
L1-desktopinteractive216225+9neutral
L1-desktopmeasureMs21132867+754bad
L1-desktopnodes50865095+9neutral
L1-desktopoverflowingOwned000neutral
L1-desktoppageErrors.count000neutral
L1-desktopsmallPrimary20200neutral
L1-desktopsmallPrimaryOwned000neutral
L1-desktopsmallTargets170179+9bad
L1-desktopsmallTargetsOwned817+9bad
L1-desktopstickyCount770neutral
L1-desktoptDom10651370+305bad
L1-desktoptextElements577586+9neutral
L1-desktoptinyText512-49good
L1-desktoptinyTextOwned490-49good
L1-desktopvisibleIndicators40400neutral
L1-mobilechromeTax5825820neutral
L1-mobileconsoleErrors.count000neutral
L1-mobilecontrastFails64640neutral
L1-mobilecontrastFailsOwned000neutral
L1-mobilecontrastUnresolved000neutral
L1-mobilefocusClipped440neutral
L1-mobilehOverflow10-1good
L1-mobilehoverOnly000neutral
L1-mobileinteractive1721720neutral
L1-mobilemeasureMs14302009+579bad
L1-mobilenodes50875096+9neutral
L1-mobileoverflowingOwned19190neutral
L1-mobilepageErrors.count000neutral
L1-mobilesmallPrimary47470neutral
L1-mobilesmallPrimaryOwned000neutral
L1-mobilesmallTargets1661660neutral
L1-mobilesmallTargetsOwned880neutral
L1-mobilestickyCount660neutral
L1-mobiletDom10171145+128bad
L1-mobiletextElements3133130neutral
L1-mobiletinyText60600neutral
L1-mobiletinyTextOwned000neutral
L1-mobilevisibleIndicators37370neutral
D1-desktopchromeTax42420neutral
D1-desktopconsoleErrors.count000neutral
D1-desktopcontrastFails000neutral
D1-desktopcontrastFailsOwned000neutral
D1-desktopcontrastUnresolved24240neutral
D1-desktopfocusClipped000neutral
D1-desktophOverflow000neutral
D1-desktophoverOnly000neutral
D1-desktopinteractive1391390neutral
D1-desktopmeasureMs23432220-123good
D1-desktopnodes8848840neutral
D1-desktopoverflowingOwned000neutral
D1-desktoppageErrors.count000neutral
D1-desktopsmallPrimary14140neutral
D1-desktopsmallPrimaryOwned14140neutral
D1-desktopsmallTargets1011010neutral
D1-desktopsmallTargetsOwned63630neutral
D1-desktopstickyCount660neutral
D1-desktoptDom8561132+276bad
D1-desktoptextElements2412410neutral
D1-desktoptinyText52-3good
D1-desktoptinyTextOwned30-3good
D1-desktopvisibleIndicators40400neutral
D1-mobilechromeTax1061060neutral
D1-mobileconsoleErrors.count000neutral
D1-mobilecontrastFails000neutral
D1-mobilecontrastFailsOwned000neutral
D1-mobilecontrastUnresolved24240neutral
D1-mobilefocusClipped440neutral
D1-mobilehOverflow10-1good
D1-mobilehoverOnly000neutral
D1-mobileinteractive86860neutral
D1-mobilemeasureMs13521561+209bad
D1-mobilenodes8858850neutral
D1-mobileoverflowingOwned19190neutral
D1-mobilepageErrors.count000neutral
D1-mobilesmallPrimary203-17good
D1-mobilesmallPrimaryOwned192-17good
D1-mobilesmallTargets7053-17good
D1-mobilesmallTargetsOwned6952-17good
D1-mobilestickyCount550neutral
D1-mobiletDom7751051+276bad
D1-mobiletextElements1821820neutral
D1-mobiletinyText30-3good
D1-mobiletinyTextOwned30-3good
D1-mobilevisibleIndicators39390neutral
S1-desktopchromeTax1461460neutral
S1-desktopconsoleErrors.count000neutral
S1-desktopcontrastFails110neutral
S1-desktopcontrastFailsOwned110neutral
S1-desktopcontrastUnresolved000neutral
S1-desktopfocusClipped000neutral
S1-desktophOverflow000neutral
S1-desktophoverOnly000neutral
S1-desktopinteractive1061060neutral
S1-desktopmeasureMs21622565+403bad
S1-desktopnodes21192123+4neutral
S1-desktopoverflowingOwned000neutral
S1-desktoppageErrors.count000neutral
S1-desktopsmallPrimary000neutral
S1-desktopsmallPrimaryOwned000neutral
S1-desktopsmallTargets59590neutral
S1-desktopsmallTargetsOwned21210neutral
S1-desktopstickyCount990neutral
S1-desktoptDom15521560+8bad
S1-desktoptextElements166167+1neutral
S1-desktoptinyText42420neutral
S1-desktoptinyTextOwned40400neutral
S1-desktopvisibleIndicators40400neutral
S1-mobilechromeTax2102100neutral
S1-mobileconsoleErrors.count000neutral
S1-mobilecontrastFails110neutral
S1-mobilecontrastFailsOwned110neutral
S1-mobilecontrastUnresolved000neutral
S1-mobilefocusClipped11110neutral
S1-mobilehOverflow000neutral
S1-mobilehoverOnly000neutral
S1-mobileinteractive53530neutral
S1-mobilemeasureMs15241861+337bad
S1-mobilenodes21202124+4neutral
S1-mobileoverflowingOwned19190neutral
S1-mobilepageErrors.count000neutral
S1-mobilesmallPrimary330neutral
S1-mobilesmallPrimaryOwned220neutral
S1-mobilesmallTargets24240neutral
S1-mobilesmallTargetsOwned23230neutral
S1-mobilestickyCount880neutral
S1-mobiletDom14231849+426bad
S1-mobiletextElements106107+1neutral
S1-mobiletinyText4041+1bad
S1-mobiletinyTextOwned4041+1bad
S1-mobilevisibleIndicators39390neutral

Full worsened list

All 25 rows classified bad by the prescribed rules, repeated without filtering. Timing changes are observations, not an attribution to the UI changes.

shotmetricbeforeafterdeltadirection
J1-desktopmeasureMs447532+85bad
J1-mobilemeasureMs540545+5bad
J1-mobiletDom598666+68bad
J2-desktopmeasureMs477665+188bad
J2-mobilemeasureMs331574+243bad
J4-desktopvisibleIndicators4011-29bad
J4-mobilevisibleIndicators4011-29bad
Q1-desktoptDom9861598+612bad
Q1-mobilemeasureMs9441496+552bad
Q1-mobiletDom10511227+176bad
L1-desktopmeasureMs21132867+754bad
L1-desktopsmallTargets170179+9bad
L1-desktopsmallTargetsOwned817+9bad
L1-desktoptDom10651370+305bad
L1-mobilemeasureMs14302009+579bad
L1-mobiletDom10171145+128bad
D1-desktoptDom8561132+276bad
D1-mobilemeasureMs13521561+209bad
D1-mobiletDom7751051+276bad
S1-desktopmeasureMs21622565+403bad
S1-desktoptDom15521560+8bad
S1-mobilemeasureMs15241861+337bad
S1-mobiletDom14231849+426bad
S1-mobiletinyText4041+1bad
S1-mobiletinyTextOwned4041+1bad

Added or missing numeric metrics

shotmetricbeforeafterdeltadirection
J5-desktoppdfjsPages3nullnullneutral