What it is
A page that configures an already-existing subject’s standing settings — an account’s settings, a campaign’s settings, an integration’s configuration — grouped into independent sections a reader visits selectively over that subject’s ongoing life, rather than filled in once during that subject’s creation. This is the concrete answer to CRUD: Create’s own rule: “A form with several independent sections is one page with a Table of Contents, not a Wizard.” Settings view is what that Table of Contents looks like when the subject is standing configuration rather than a form being filled in once. Settings are almost always settings of something — an account, a campaign, an integration — never a freestanding subject of their own.Breadcrumb back to that thing is required; see
Header — Left.
You are building one if the page’s sections are independent (no fixed order, each meaningful on
its own) and the subject already exists and will be reconfigured repeatedly over time, not
created once and then left. A page that is filled in once toward a single commit, for an object
that does not yet exist, is Full-page form even
when it also has several independent sections — see
Choose something else when.
Region vocabulary
This archetype adds no regions to the page frame. It reuses a structural pattern Full-page form already established for independent sections on one page — an in-page navigation aid insideContents, not a frame region — rather than inventing a second answer to the same shape of
problem. Two terms are worth naming even though neither is a frame region:
Choose this view when
- The subject already exists and is being configured on an ongoing basis, not created for the first time.
- Configuration breaks into independent sections — notification preferences, billing, API access — with no fixed order between them.
- A reader typically comes back to change one section at a time, on separate occasions, rather than filling in the whole page once.
Choose something else when
Regions
What fills each region
Header — Left
Header — second row
The default state is nothing — per Views overview’s own three states (nothing, tabs, filters), Settings view’s header carries no second row in the common case. The Table of Contents is not a header occupant at all; it lives insideContents,
following Full-page form’s
precedent — see Contents — sections and navigation below.
Why not a tab bar, when Views overview
already defines one as exactly “a section of the page’s subject” — which a settings section
plainly is. The reason is the frame’s own rule that exactly one TabPanel is visible at a
time. That property is the wrong fit here, even
though the section-of-a-subject test passes. A reader configuring settings often needs to see
two related sections at once — checking who’s on the notification list while editing the
escalation rule that pages them — or wants to search across every setting at once, not just the
one section currently active. A tab bar hides everything but the active panel by design; an
anchor nav inside Contents keeps every section on the page, reachable by scroll and by search,
which is the property this archetype actually needs.
Tabs are still the right call when sections are numerous and truly unrelated — each large
enough to be worth its own screen, not just a labeled group of fields on one coherent
configuration surface. That is the same threshold
Progressive disclosure
already states for its own “Settings tab over Accordion” variation: a secondary area large
enough that most users never open it is worth a dedicated tab, not a scroll-triggered reveal.
“Billing” and “Notification preferences” on one account settings surface are related enough to
stay on one page; an entire “Integrations” configuration area with its own object model might
cross that threshold and deserve its own tab, its own URL, and its own Settings view underneath
it.
Contents — sections and navigation
Each section is a labeled group of related fields — a heading, then its fields, visually distinguished the same way Full-page form already specifies: headings, dividers, or grouped cards, never hidden behind tabs or steps. An anchor nav, when there is more than one section, is a shortcut to a section, never a gate in front of it — clicking an entry scrolls to that section; it never hides the others. This is the same structure Full-page form already establishes; Settings view follows it rather than re-deciding it.
Whether a section starts collapsed follows Progressive disclosure’s
own threshold directly, rather than a rule invented here: collapse a section only if it is
genuinely secondary — used by a minority of readers in a minority of sessions — and
never collapse the section a reader most likely came to this page to change. A
settings page whose every section is something most accounts touch regularly should show every
section open by default; disclosure earns its place only for the sections most accounts never
adjust.
Footer
Required, and fixed to the viewport. Every section on this page configures one subject, so the whole view is the unit of commit and one footer covers it — the frame’sFooter, holding
the view’s commit and cancel. No section carries a Save of its own.
It is fixed rather than static because a reader arrives to change one section, which may be
anywhere on the page. A footer at the end of the scroll is a journey away from the edit, which
is the distance that makes a per-section button look like the obvious fix. Fixing it keeps the
commit in reach of whichever section the reader came for. The full decision, and what changes
when configuration is scoped to a single container instead of a whole view, is in
Footers.
Responsive and density behavior
Titan is desktop-first — most surfaces live atlg and xl, and xs/sm are rarely
exercised (see Layout & grid).
What follows is proposed with that in mind.
Accessibility
The page-level decisions are the frame’s, and they apply unchanged — see Views overview → Accessibility. Onemain, one h1 on Title, region order matching visual order.
What is specific to this archetype:
- Each section heading is a real heading, descending from
Title’sh1without skipping a level, so a screen-reader user outlining the page sees the same structure the anchor nav exposes visually — the same requirement Full-page form already states. - The anchor nav is a navigation landmark with an accessible name — “Settings sections,” not “Navigation” — whose links move focus to the target section’s heading, not just scroll position. Same reasoning as Full-page form.
- A collapsed section’s trigger states what it reveals, and a validation error inside a collapsed section forces it open and is announced — the same rule Progressive disclosure already states, applied here rather than restated.
- The footer’s commit and cancel carry accessible names that name the action, not the section — “Save changes,” not “Save notification settings” — because there is one commit for the whole view and nothing to disambiguate it from.
- A failed commit moves focus to the first invalid field, in its own section, and the failure is announced via a live region or the error text’s association to that section — not shown only visually. With one footer the field that blocked the commit is frequently off-screen from the button that was pressed.
Constraints
Composed example
Related
- Views overview — the frame this archetype fills
- Full-page form — the sibling archetype for the same “several independent sections, one scrollable page” shape, applied to a bounded, one-time commit instead of standing configuration
- CRUD: Create — TITAN-CREATE-03 — the constraint this page resolves concretely
- Progressive disclosure — the collapsed/expanded threshold this page applies rather than re-deriving
- Footers — which surface owns the commit, and why this one belongs to the view rather than its sections
- Inline editing — the alternative when the unit of change is a single field rather than the view
- Wizard — where sections genuinely depend on each other in order