November 1, 2025
Table Wars flare up again
Abandonware of the web: do you know that there is an HTML tables API?
Old web trick resurfaces and the internet instantly fights about tables vs. modern layouts
TLDR: An old browser feature for building data tables—without messy code strings—resurfaced, and the community immediately split: “tables are dead” versus “still useful for real data and keyboard navigation.” Some mocked the examples and quirks, others shared archive links during outages, proving the web never forgets its classics.
An old-school web trick just got dusted off: a built‑in browser way to build and edit tables without messy copy‑paste or risky code strings. The article says this “forgotten” table API lets you add rows and cells on the fly, and dreams of upgrading it with smarter features. Cue the comment section turning into a food fight. One camp yelled “tables are dead,” insisting modern page layout tools like flex and grid won that war ages ago. Another camp clapped back: tables are still for actual data, and this API is handy—and not forgotten at all.
Veterans rolled their eyes (“I was doing this 25 years ago”), while power users swore they still use it for fast keyboard navigation. Others nitpicked the code style like it was a reality show judging panel—“interesting, but the examples hurt.” Meanwhile, the site went wobbly with error pages, so the archivists swooped in with a rescue link like caped heroes. The weird parts—like using -1 to add a row at the end and no easy way to make header cells—sparked jokes about 1999 calling to reclaim its spacer GIFs. In short: the API is real, the nostalgia is loud, and the grid‑gang vs. table‑truthers drama is delicious.
Key Points
- •Browsers provide an HTML tables API that allows structured creation and manipulation of tables without using innerHTML.
- •The API supports inserting rows and cells (e.g., insertRow, insertCell) and accessing cells via indexed properties (rows[x].cells[y]).
- •Examples show building a table from a nested array and modifying it by adding rows and cells programmatically.
- •A quirk allows insertRow(-1) to append a row to the end of the table; creating TH directly appears unsupported (cells default to TD).
- •The article proposes enhancing the tables API with events and features similar to improvements made to HTML forms (e.g., FormData, change event).