Skip to main content

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 inside Contents, 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 inside Contents, 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. 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’s Footer, 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 at lg 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. One main, 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’s h1 without 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

  • 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

Why it works this way

The anchor nav is borrowed, not reinvented, because the underlying shape is identical. Full-page form already worked out that independent sections belong on one scrollable page with a jump list rather than behind tabs or steps, for the reason that hiding them teaches a relationship — order, or boundary — that independent sections don’t have. Settings view’s sections are just as independent of each other; re-deriving a second answer to the same question would only invite the two pages to quietly drift apart over time. The footer is fixed, and the reason is where the reader edits. A Full-page form is filled top to bottom and ends where its footer is, so a static footer is in the right place by construction. Settings view’s subject already exists and gets reconfigured indefinitely, in separate visits, by readers who came to change one section and have no reason to re-touch the rest — so the edit can be anywhere on the page, and a footer at the end of the scroll is a journey away from it. Fixing the footer puts the commit within reach of whichever section the reader actually came for. The unit of commit is still the whole view: every section on this page configures one subject, so one footer covers them all — see Footers.

Status

Last modified on September 17, 2026