✓ Free · local only · no page contents or form values
Plate 01: the visible viewport is an intersection, not a DOM property.
“Why is this below the fold?”
“Which ancestor clips it?”
“What wins the hit test?”
“Why is it off-centre?”
01 / Evidence, not interpretation
One selection. A checkable answer.
The report records what the browser knows now, in pixels and explicit reason codes. Save the JSON with a bug, paste it in a review, or assert it in a test.
Target#checkout-panel
Not reachable
37% visiblecentre hit: .sticky-footer
Border box
420 × 288 px
Viewport position
x 804, y 612
Centre delta
+502 x / +396 y
Position / z-index
static / auto
!
Primary findingClipped by .shell__body
The visible centre is occluded by .sticky-footer.
01.shell__bodyoverflow-y: auto
02main.appoverflow: hidden
03viewport1440 × 900
02 / Recorded fields
The missing layer between DOM and screenshot.
Geometry
Border and content boxes, document offset, viewport position, centre delta, and visible-area ratio.
Clip & scroll chain
Each relevant ancestor, overflow mode, scroll extent, current offset, and clipped edges.
Reachability
Computed visibility, viewport intersection, centre-point hit target, pointer events, and reason codes.
Style deltas
Position, insets, transform, z-index, box sizing, margins, borders, and padding—only the facts that move boxes.
03 / Workflow
From odd layout to durable evidence.
1
Pick
Press the toolbar button or Alt + Shift + V, then choose an element.
2
Read
See the verdict, measurements, hit test, and ancestor chain immediately.
3
Export
Copy or download versioned JSON. Query strings, form values, and page text stay out.
04 / Same facts in tests
Ask Playwright what a user can reach.
The companion helper runs the same inspection engine against a locator. It returns the report or throws with exact reason codes.