Describe the user dashboard's tab strip
Shape 2 step 5, the last of the five. The page carried two mutually exclusive
tab rows under `{% if deactivated %}`, with the opening tab computed twice in
the markup as a `chosen` class and an `aria-selected`. Both are one described
strip whose membership happens to collapse to one tab for a deactivated
account, and whose opening tab is the first one the reader can see.
Four of the five panels are fillable, which is what the tree links to. The
shown one arrives with the document instead of a placeholder and a round trip
later, and the two transaction queries the page made for a template field
nothing read go with the strip that never showed them.
Ten sites handed out a `/dashboard#tab-*` for the page's JS to click after
load. Six of them named an id this page has never had: two settings sections,
`tab-plan` twice under a name nothing spells, a tab only the project dashboard
had, and a library that is a page of its own. A hash restore that cannot find
its button does nothing and says nothing, which is how they sat there. All ten
are addresses now.
With no hand-written strip left, `frontend/src/core/tabs.ts` goes: the
overflow menu, the hover preload, the hash restore and setActiveTab are what a
described tab group does. `blogTabNav` goes with it, having clicked a
`tab-blog` button that never existed either.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-19 17:20 UTC