Section Titles are interactive titles that open and close sections, typically on a form.
If the Section Title is interactive, the button needs to be associated with the section so that assistive technology knows what the button opens and closes. The button and section also need aria attributes to indicate the open and closed state of the section.
aria-controls is used to create an association between the button and the section. If the section has an id="content", then the button should have aria-controls="content".
aria-expanded indicates if the section is open or closed and is read aloud by assitive technology when the button is focused.
aria-hidden indicates if the section is open or closed, and if set to true, assistive technology hides the section.
The button should behave as a normal button. The user should be able to tab to focus it and press enter/space to activate it.
Updating Operation and State
When the user interacts with the button to open the section, aria-expanded on the button should be true and aria-hidden on the section should be false.
When the user interacts with the button to close the section, aria-expanded on the button should be false and aria-hidden on the section should be true.
Overview of CSS Classes
The CSS class being referred to.
A description of what the class does.
Whether the class name is dev-ready (meaning it's fully vetted and tested and safe to use) or prototype (which means it's not fully vetted yet).
The selector that the class name is allowed to be used on.
The base level pattern for a component. A variant can be extended to create another variant of that component, for example, a stateful button is a derivative of the base button.
A single class that can be added to an HTML element of a component to modify its output. Typically these will be colors, sizing and positioning.
Container for a expandable section
Element containing the title of a section
Element containing the action inside of an expandable section title
Element containing the content of an expandable section