Skip to content

Disclosure

A disclosure keeps content folded under a heading or a short phrase until the reader opens it. Use it for detail most readers skip, not for anything the task needs.

What it is

A section disclosure is a row with a chevron and a heading, and it opens a panel below. An inline disclosure is a short phrase inside the content, such as Show quoted text under an email.

Ramesh Thapa

Welder, Split

Documents
Passport
Valid to 2031
CV
Uploaded 12 September
Police certificate
Requested
Work permit
Status
Visa approved
Employer
Split shipyard
Valid until
3 November 2027
Interview notes
Interviewer
Ana Horvat
Welding
MIG and TIG, eight years
Start
Early November
Contract
Sent
26 September 2026
Signed
Waiting

When to use it

Use a disclosure for content a reader may want but seldom needs, such as the quoted text of an email or the interview notes in a candidate's file.

Keep in view what the task requires: a field that must be filled, a start date or a salary does not go inside a closed section. For a long form, show its sections. To move between pages, use the side navigation.

Section disclosure

The chevron leads the row. It points right while the section is closed and turns to point down when it opens. The panel's text lines up with the first letter of the heading.

In a dense side panel used with a mouse, such as a list of folders, the row is compact, with smaller bold text and a smaller chevron.

Documents
Passport
Valid to 2031
CV
Uploaded 12 September
Police certificate
Requested
Work permit
Status
Visa approved
Employer
Split shipyard
Valid until
3 November 2027
Interview notes
Interviewer
Ana Horvat
Welding
MIG and TIG, eight years
Start
Early November
Row height
At least 44 px
Heading
Body, 16 px on 26 px, bold
--type-body
Chevron
16 px, before the heading, a quarter turn when open
--text-muted
Padding
8 px before the chevron, 12 px at the end
--space-2
Compact row
Bold, padding 4 px by 6 px, a 14 px chevron
Fill under the pointer
Faint, radius 8 px
--glass-fill-hover
Space below an open panel
16 px
--space-4
Space between sections
4 px, no lines
--space-1

Inline disclosure

An inline disclosure is a phrase that starts with Show and turns into Hide once the content is open. The content appears directly below it.

Show message details
From
Marko Babić
To
Ana Horvat
Date
26 September 2026, 9:42
Hide message details
From
Marko Babić
To
Ana Horvat
Date
26 September 2026, 9:42
Phrase
Medium weight in muted ink, full ink under the pointer
--text-muted
Chevron
14 px, 4 px after the phrase
--text-muted
Target
At least 24 px high, 44 px on touch

Behavior

Sections start closed. Open one by default only when most readers need it. Opening a section leaves the others as they are, so a reader can compare two side by side.

The panel opens and the chevron turns in 150 milliseconds. With reduced motion, the panel appears without moving.

When a reader searches the page, the browser opens a closed section that holds a match. A printed page shows every section open. Nest one level at most: deeper structure is a tree.

On a wide screen, a group of sections may stay open all the time. Its headings are then plain headings, not toggles.

Writing the heading

Name what the section holds, in sentence case with no full stop: Work permit, not More. Keep it to one line at 360 px.

Keyboard and screen readers

Tab reaches each heading, and Enter or Space opens and closes it. A screen reader hears the heading, that it is a button and whether it is expanded. When sections form a list on a page, each heading is also a heading in the page outline.

Permitted and not permitted

Permitted

  • A closed section for detail most readers skip.

  • A heading that names what it holds, such as Work permit.

Not permitted

  • Required information inside a closed section.

    A reader who does not open it misses what the task needs.

  • A section that is always open but still looks and acts like a toggle.

    A screen reader says it is closed while the content shows.

NextAvatar

Disclosure

Hides a section or a detail until the reader opens it, and shows it in place.

  • Kind: component
  • Page: https://design.werklist.com/components/disclosure
  • Version: 2.1.2

When to use it

  • Detail most readers skip, such as quoted text or message details.
  • The sections of a record on a small screen, such as the documents, work permit and interview notes in a candidate's file.
  • Advanced settings below the common ones.

When not to use it

  • Anything the task requires.
  • Navigation between pages: use the side navigation.
  • More than one level of nesting: use a tree.

Rules

  • Permitted: a closed section for detail most readers skip.
  • Not permitted: required information in a closed section.
  • Not permitted: a section that is always open but still looks and acts like a toggle.
  • Opening one section does not close another.

Anatomy

  • Section row: at least 44 px; padding 9 px above and below, 8 px before the chevron, 12 px at the end; gap 8 px (--space-2, --space-3)
  • Section heading: Body, 16 px on 26 px, bold (--type-body, --text)
  • Compact row: in a dense side panel used with a mouse, such as a list of folders: bold, padding 4 px by 6 px, a 14 px chevron, 4 px gap
  • Chevron: 16 px, pointing right, before the heading, stroke 2.25; turns a quarter to point down when open (--text-muted)
  • Hover fill: radius 8 px, fine pointer only (--glass-fill-hover)
  • Panel: starts under the heading's first letter; 16 px below the content (--space-4)
  • Between sections: 4 px, no lines (--space-1)
  • Inline phrase: medium weight, --text-muted, --text on hover; a 14 px chevron pointing down, 4 px after it, turns over when open; target 24 px high, 44 px on touch (--text-muted)

Variants

  • section: A row that leads with a chevron and holds the heading, and opens a panel below.
  • inline: A phrase inside content that reads Show and turns to Hide when open.

States

  • closed: chevron points right; panel hidden
  • open: chevron points down; panel shown; height and opacity over 150 ms (--duration-fast, --ease-standard)
  • hover: faint fill on the section row; fine pointer only (--glass-fill-hover)
  • focus visible: 2 px ring on the row or phrase (--focus-ring)

Keyboard

  • Tab: Moves to the next heading or into an open panel
  • Enter: Opens or closes
  • Space: Opens or closes

Accessibility

  • The expanded state is announced, and find in page opens a closed section that holds a match.
  • When sections form a list, the summary holds the section's heading element.
  • The inline phrase changes between Show and Hide; the expanded state says the same thing.
  • A printed page shows every section open; on screen they return to how they were.
  • On a wide screen, a group of sections may stay open all the time; its headings are then plain headings, not toggles.

Content

  • Name what the section holds; sentence case, no full stop, one line at 360 px.
  • Inline phrases start with Show or Hide and name the content.

Tokens

  • --type-body
  • --text
  • --text-muted
  • --glass-fill-hover
  • --radius-lg
  • --space-1
  • --space-2
  • --space-3
  • --space-4
  • --focus-ring
  • --duration-fast
  • --ease-standard

JSON

{
  "title": "Disclosure",
  "path": "/components/disclosure",
  "url": "https://design.werklist.com/components/disclosure",
  "text": "https://design.werklist.com/agent/components/disclosure",
  "summary": "Hides a section or a detail until the reader asks for it, then shows it in place.",
  "version": "2.1.2",
  "kind": "component",
  "name": "Disclosure",
  "purpose": "Hides a section or a detail until the reader opens it, and shows it in place.",
  "use": [
    "Detail most readers skip, such as quoted text or message details.",
    "The sections of a record on a small screen, such as the documents, work permit and interview notes in a candidate's file.",
    "Advanced settings below the common ones."
  ],
  "avoid": [
    "Anything the task requires.",
    "Navigation between pages: use the side navigation.",
    "More than one level of nesting: use a tree."
  ],
  "variants": [
    {
      "name": "section",
      "use": "A row that leads with a chevron and holds the heading, and opens a panel below."
    },
    {
      "name": "inline",
      "use": "A phrase inside content that reads Show and turns to Hide when open."
    }
  ],
  "anatomy": [
    {
      "part": "Section row",
      "measure": "at least 44 px; padding 9 px above and below, 8 px before the chevron, 12 px at the end; gap 8 px",
      "token": "--space-2, --space-3"
    },
    {
      "part": "Section heading",
      "measure": "Body, 16 px on 26 px, bold",
      "token": "--type-body, --text"
    },
    {
      "part": "Compact row",
      "measure": "in a dense side panel used with a mouse, such as a list of folders: bold, padding 4 px by 6 px, a 14 px chevron, 4 px gap"
    },
    {
      "part": "Chevron",
      "measure": "16 px, pointing right, before the heading, stroke 2.25; turns a quarter to point down when open",
      "token": "--text-muted"
    },
    {
      "part": "Hover fill",
      "measure": "radius 8 px, fine pointer only",
      "token": "--glass-fill-hover"
    },
    {
      "part": "Panel",
      "measure": "starts under the heading's first letter; 16 px below the content",
      "token": "--space-4"
    },
    {
      "part": "Between sections",
      "measure": "4 px, no lines",
      "token": "--space-1"
    },
    {
      "part": "Inline phrase",
      "measure": "medium weight, --text-muted, --text on hover; a 14 px chevron pointing down, 4 px after it, turns over when open; target 24 px high, 44 px on touch",
      "token": "--text-muted"
    }
  ],
  "states": [
    {
      "name": "closed",
      "change": "chevron points right; panel hidden"
    },
    {
      "name": "open",
      "change": "chevron points down; panel shown; height and opacity over 150 ms",
      "tokens": [
        "--duration-fast",
        "--ease-standard"
      ]
    },
    {
      "name": "hover",
      "change": "faint fill on the section row; fine pointer only",
      "tokens": [
        "--glass-fill-hover"
      ]
    },
    {
      "name": "focus visible",
      "change": "2 px ring on the row or phrase",
      "tokens": [
        "--focus-ring"
      ]
    }
  ],
  "keys": [
    {
      "key": "Tab",
      "action": "Moves to the next heading or into an open panel"
    },
    {
      "key": "Enter",
      "action": "Opens or closes"
    },
    {
      "key": "Space",
      "action": "Opens or closes"
    }
  ],
  "accessibility": [
    "The expanded state is announced, and find in page opens a closed section that holds a match.",
    "When sections form a list, the summary holds the section's heading element.",
    "The inline phrase changes between Show and Hide; the expanded state says the same thing.",
    "A printed page shows every section open; on screen they return to how they were.",
    "On a wide screen, a group of sections may stay open all the time; its headings are then plain headings, not toggles."
  ],
  "content": [
    "Name what the section holds; sentence case, no full stop, one line at 360 px.",
    "Inline phrases start with Show or Hide and name the content."
  ],
  "tokens": [
    "--type-body",
    "--text",
    "--text-muted",
    "--glass-fill-hover",
    "--radius-lg",
    "--space-1",
    "--space-2",
    "--space-3",
    "--space-4",
    "--focus-ring",
    "--duration-fast",
    "--ease-standard"
  ],
  "rules": [
    "Permitted: a closed section for detail most readers skip.",
    "Not permitted: required information in a closed section.",
    "Not permitted: a section that is always open but still looks and acts like a toggle.",
    "Opening one section does not close another."
  ]
}

Raw file: https://design.werklist.com/agent/components/disclosure