dataTable
Sortable columns, and a table that survives a narrow screen.
Sortable columns
Four columns, three of them sortable, sorted by
Last check on load. Click a header to sort by it:
a fresh column starts ascending, the sorted one flips. The
Requests and Median cells are
formatted for people and carry a data-datatable-value
for the machine; the dates sort by their
<time datetime>. Two rows have gaps — an empty
cell sorts last in both directions, because it is not a
small value but no value.
| Region | Requests | Median | Last check |
|---|---|---|---|
| Frankfurt | 128,400 | 86 ms | |
| Ashburn | 94,120 | 141 ms | |
| Singapore | 41,880 | 203 ms | |
| São Paulo | 18,240 | 264 ms | |
| Cape Town | 7,310 | ||
| Sydney | 33,905 | 188 ms |
Wide, with a sticky header and a sticky first column
Eleven columns, capped at 18rem tall — more than fits, on purpose. Scroll the box sideways: the region column stays put, and it carries whichever colour its row has — a stripe, or the one under your pointer — so it covers the columns passing underneath. Scroll it downwards and the header stays. The height is what makes that work: a sticky cell sticks inside its own scroll container, so without a cap the header would have nothing to stick to.
| Region | Requests | Median | p95 | Errors | Uptime | Cache hit | Egress | Version | Deployed | On call |
|---|---|---|---|---|---|---|---|---|---|---|
| Frankfurt | 128,400 | 86 ms | 214 ms | 12 | 99.98 % | 94.2 % | 18.4 TB | 4.12.0 | Platform | |
| Ashburn | 94,120 | 141 ms | 388 ms | 47 | 99.91 % | 91.7 % | 14.1 TB | 4.12.0 | Platform | |
| Singapore | 41,880 | 203 ms | 512 ms | 8 | 99.99 % | 88.3 % | 6.7 TB | 4.11.3 | APAC | |
| São Paulo | 18,240 | 264 ms | 701 ms | 103 | 99.62 % | 79.4 % | 3.1 TB | 4.11.3 | LATAM | |
| Cape Town | 7,310 | 298 ms | 844 ms | 21 | 99.84 % | 72.8 % | 0.9 TB | 4.10.7 | EMEA | |
| Sydney | 33,905 | 188 ms | 466 ms | 15 | 99.95 % | 90.1 % | 4.5 TB | 4.12.0 | APAC | |
| Tokyo | 76,540 | 97 ms | 245 ms | 19 | 99.97 % | 93.5 % | 11.2 TB | 4.12.0 | APAC | |
| Mumbai | 52,470 | 167 ms | 401 ms | 34 | 99.88 % | 85.6 % | 7.9 TB | 4.11.3 | APAC |
Stacked below 575px
The same kind of table, with data-datatable-stacked.
Narrow the window below 575px and every row becomes
a card of label/value pairs, with the header row surviving as a bar
of sort chips — sorting is the one part of a table a phone wants more
of, not less. The labels on the cards are written by the module from
the header, and so are the explicit table roles, without which the
cards would stop being a table for a screen reader. That is why the
layout is keyed off data-datatable-ready: without the
module, this stays the scrolling table above.
| Incident | Component | Severity | Opened | Owner |
|---|---|---|---|---|
| INC-2041 | Image pipeline | 1 — critical | Platform | |
| INC-2038 | Search index | 2 — major | Discovery | |
| INC-2033 | Checkout | 3 — minor | Payments | |
| INC-2029 | Mail delivery | 2 — major | Comms |
No controls: the box itself takes the focus
Eleven columns again, this time with no sortable one — so the module adds no buttons, and nothing inside the box can take focus. Since the table is wider than the box, the module therefore makes the box a tab stop and names it by its caption, and the arrow keys scroll it. Tab to it and hold →. Make the window wide enough for the table to fit and the tab stop goes away again — a box that fits is not a dead stop in the tab order.
| Bucket | Class | Objects | Size | Retention | Replication | Encryption | Versioning | Lifecycle | Created | Owner |
|---|---|---|---|---|---|---|---|---|---|---|
| assets-eu | Standard | 4,182,904 | 18.4 TB | 90 days | eu-central, eu-west | KMS | On | Archive after 30 d | Platform | |
| assets-us | Standard | 3,067,431 | 14.1 TB | 90 days | us-east, us-west | KMS | On | Archive after 30 d | Platform | |
| backups-cold | Archive | 128,940 | 92.7 TB | 7 years | eu-central | KMS | Off | Never expire | Operations | |
| logs-raw | Infrequent | 9,884,215 | 41.9 TB | 30 days | eu-central | SSE-S3 | Off | Delete after 30 d | Observability |