fw-10 step 03 — Price the right-hand column
Goal
Virtualization is a trade, and most engineers price only one side.
Tasks
- Test each: find-in-page, screen-reader navigation, anchor links /
scrollIntoView, tab order, text selection across rows, print, browser scroll restoration. Record which break. - Implement
aria-setsize/aria-posinsetand an appropriate grid role. Verify with a real screen reader, not by inspection. - DOM growth leak: recycle rows incorrectly so the DOM grows; find it in a heap snapshot.
- Compare with the platform. Build the same list using
content-visibility: auto+contain-intrinsic-size, with every row in the DOM. Measure initial layout, memory, and scroll smoothness against your virtualizer. Note which platform behaviours it preserves. - Write the recommendation: at what row count, for what content, would you choose each?
Done when
- A table of what breaks, with mitigation or "none reliable"
-
content-visibilitycomparison measured at two list sizes - A written threshold recommendation you would defend in review