Interface Core B · Official guidance Platform: Web

Disclosure

A disclosure is a button that shows or hides a related section. It also tells software whether the section is open.

Try an example
You might call it show/hideexpander

Try an example

Disclosure

A disclosure is a button that shows or hides a related section. It also tells software whether the section is open.

Choose it when

Use it for extra content that people may choose to view. Hiding that content must not block the main task.

A real example

On a billing page, “Show fee breakdown” reveals three items and changes `aria-expanded` to `true`. Focus stays on the button. The total remains visible even if JavaScript fails.

Main parts

  1. 01Toggle button
  2. 02Expanded state
  3. 03Controlled region

Use it when

Use it for extra content that people may choose to view. Hiding that content must not block the main task.

Do not use it when

Do not use it as a menu or a form choice. Never hide required errors or instructions inside it.

Name used in code

button aria-expanded aria-controls + controlled region

Before you ship

Give assistive tools the control’s name (accessible name), purpose (role), value, and state. Check keyboard use, visible focus, target size, disabled and busy states, feedback, and recovery.

Request you can copy

Outcome: Use Disclosure to solve this user need without losing the current context. User context: On a billing page, “Show fee breakdown” reveals three items and changes `aria-expanded` to `true`. Focus stays on the button. The total remains visible even if JavaScript fails. Recommended pattern: Disclosure. Why it fits: Use it for extra content that people may choose to view. Hiding that content must not block the main task. Do not use it when: Do not use it as a menu or a form choice. Never hide required errors or instructions inside it. Product requirements: Define the default, loading, empty, error, success, and recovery states. Keep user input. Give clear feedback after every action. Accessibility and resilience: Use semantic HTML, full keyboard access, and visible focus. Make the layout work when zoomed and support reduced motion. Follow the project’s current rules. Do not add a new UI library unless the project already uses it. Acceptance criteria: The main task works with keyboard only and at 320px width. Focus and status changes are announced. Check loading, failure, retry, cancel, and reduced-motion paths. Evidence and limits (evidence boundary): It is official for that source. Other platforms or teams may use the term in another way. Unknowns to confirm: Product wording, data source, analytics events, supported devices and languages, and platform limits.

Check this request

Review the current use of Disclosure. Definition: A disclosure is a button that shows or hides a related section. It also tells software whether the section is open. Release checks: Give assistive tools the control’s name (accessible name), purpose (role), value, and state. Check keyboard use, visible focus, target size, disabled and busy states, feedback, and recovery. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.

B
How official is this term?

Official guidance

The named platform, framework, project, or expert group has an official guide for this term.

It is official for that source. Other platforms or teams may use the term in another way.

Scope
Non-normative WAI-ARIA Authoring Practices pattern
Document status
stable
Checked on
2026-07-30

Evidence sources & scope

Authority source + Term reference · W3C WAI · stable Disclosure Pattern Scope: Non-normative accessible disclosure guidance Role here: Direct term reference Source covers: canonical name, definition, interaction, keyboard behavior, accessibility

Copy it yourself

The browser could not copy this. Select the request below and copy it yourself.