Skip to content

Editorial article

Preview Available in release assets

Compose a long-form editorial page from page-shell, sticky sidebar, prose, table-of-contents, breadcrumbs, and ordinary series links without a dedicated article component.

Server contract

Use .thin-editorial-article on a stable page region or compose the documented page-shell, sticky-sidebar, prose, table-of-contents, and breadcrumb patterns directly. Author byline, time, and series URLs server-side.

Landmarks, headings, links, article body, archive list, and pagination remain complete without CSS, JavaScript, or enhancement.

Editorial article primary example

Show code
<div class="thin-page-shell">
  <header class="thin-container">
    <nav class="thin-breadcrumbs" aria-label="Breadcrumbs">
      <ol>
        <li><a href="/">Home</a></li>
        <li><a href="/notes/">Field notes</a></li>
        <li aria-current="page">Designing for content</li>
      </ol>
    </nav>
  </header>
  <div class="thin-sticky-sidebar">
    <aside aria-labelledby="article-contents">
      <nav class="thin-table-of-contents" aria-labelledby="article-contents">
        <h2 id="article-contents">On this page</h2>
        <ol>
          <li><a href="#overview" aria-current="location">Overview</a></li>
          <li><a href="#measure">Measure and rhythm</a></li>
          <li><a href="#series">Series navigation</a></li>
        </ol>
      </nav>
    </aside>
    <main id="content">
      <article class="thin-prose" aria-labelledby="article-title">
        <header>
          <p>
            <span class="thin-icon">
              <svg class="thin-icon" aria-hidden="true">
                <use href="/icons/sprite.svg#user">
                </use>
              </svg>
              <span>Ryan Baird</span>
            </span> · <time datetime="2026-08-01">August 1, 2026</time> · <span>8 min read</span>
          </p>
          <h1 id="article-title">Designing for content that refuses to be tidy</h1>
        </header>
        <p class="thin-lede">Editorial pages compose existing page-shell, prose, table-of-contents, and breadcrumb patterns. The server owns metadata, series links, and reading order.</p>
        <h2 id="overview">Overview</h2>
        <p>Start with semantic HTML, then add layout and prose skins when CSS is available.</p>
        <h2 id="measure">Measure and rhythm</h2>
        <p>Use <code>class="thin-flow"</code> inside prose sections when lists and paragraphs must keep block formatting context.</p>
        <section id="series" aria-labelledby="series-heading">
          <h2 id="series-heading">Series navigation</h2>
          <nav aria-label="Series">
            <ul class="thin-cluster">
              <li><a href="/notes/01/">← Previous</a></li>
              <li><a href="/notes/">All notes</a></li>
              <li><a href="/notes/03/">Next →</a></li>
            </ul>
          </nav>
        </section>
      </article>
    </main>
  </div>
  <footer class="thin-container">
    <p>Independent footer content</p>
  </footer>
</div>

Anatomy

  • Page shell landmarks
  • Breadcrumb trail
  • Optional sticky table of contents
  • Prose article with metadata header
  • Series previous/next links
  • Footer landmark

Variants and sizes

  • Documentation article
  • Blog post
  • Release note
  • Localized editorial page

Gallery coverage: No structured variant fixtures are published yet; the primary example above is the only verified production markup.

Rendered fixtures exercise authored content and constrained layouts with the same production assets.

  • Short article
  • Long article
  • Missing media
  • Long localized title
  • Narrow container
  • Print
  • 200% and 400% zoom

Structured state fixtures are not published for this item yet.

Interaction and keyboard behavior

Fragment links, series links, and pagination use native navigation. Optional view transitions belong to the application, not this recipe.

Accessibility

Keep one main landmark, coherent heading order, meaningful link text, authored fragment targets, and metadata in text—not color alone.

Contract
COMPOSE
Basis
Native article, headings, time, links, and ordered content; no APG widget
Evidence
  • tests/unit/library/editorial-recipes.test.ts

API

Use .thin-editorial-article on a stable page region or compose the documented page-shell, sticky-sidebar, prose, table-of-contents, and breadcrumb patterns directly. Author byline, time, and series URLs server-side.

Behavior tier: native

Structured host, property, and example tables are not authored for this item yet. Use the summary above and the primary example.

Fallback

Landmarks, headings, links, article body, archive list, and pagination remain complete without CSS, JavaScript, or enhancement.

Assets and dependencies

  • /foundation.css
  • /layouts.css
  • /components.css

Dependencies: None

Source: packages/ui/src/items/editorial/style.ts

Composition

Derived from the examples and style specs, not authored.

Composes

Used by