Skip to content

Virtualized table

A 6,000-row dataset windowed by Virtualizer, dressed as an ARIA table.

Composes Virtualizer (plus the design tokens).

Reach for this only when the whole list needs to scroll at once

Most apps do not need to virtualize the full dataset. Pagination (the library ships it), server-side paging, and filtering the set down all ease rendering. They are also simpler, and often more accessible. Reach for virtualization when your product needs the whole list scrollable in one view rather than paged.

Pick per dataset size, not by default

Real <table> semantics (the Table component) give you native screen-reader table navigation for free, with no ARIA to keep in sync. Reach for it up to a few thousand rows. Past that point, where rendering every <tr> becomes the bottleneck, the windowed ARIA table below earns its keep.

Demo

1
Priya Natarajan
Cedar Creek
55
2024-07-30
2
Lena Kowalski
Silver Pines
49
2025-03-28
3
Liam O’Connor
Blue Ridge Links
61
2023-10-14
4
Jonas Weber
Blue Ridge Links
48
2024-06-21
5
Liam O’Connor
Cedar Creek
55
2023-09-05
6
Lena Kowalski
Harbor Bluffs
58
2023-11-26
7
Liam O’Connor
Harbor Bluffs
69
2023-10-19
8
Marcus Reed
Silver Pines
54
2025-04-04
9
Lena Kowalski
Silver Pines
67
2025-04-10
10
Lena Kowalski
Maple Hollow
69
2023-12-08
11
Ava Chen
Harbor Bluffs
57
2024-12-05
12
Lena Kowalski
Willow Bend
61
2024-12-12
13
Ava Chen
Willow Bend
65
2023-10-16
14
Tomas Novak
Falcon Ridge
63
2023-07-29
15
Priya Natarajan
Willow Bend
59
2024-12-05
16
Sofia Rossi
Maple Hollow
61
2023-05-09

6,000 rows in the dataset. Only the rows in view are ever in the DOM.

Source

The whole pattern, verbatim. Every import is a public export, so you can copy it into an app with the theme installed and it renders the same.