Skip navigation

Components / UI & forms

Tabs

Paired panels, subtle content arrival and a sliding active underline, with keyboard navigation.

div[data-tabs] > div.tabs-list + sections.tab-panel
Try it

One clear view.

Use the buttons, arrow keys, Home or End to select a panel.

The supporting details.

Content arrives with a restrained fade and vertical movement.

Next steps.

All content remains available without JavaScript.

<div data-tabs><div class="tabs-list" aria-label="Example views"><button id="tab-one" type="button" aria-controls="view-one">Overview</button><button id="tab-two" type="button" aria-controls="view-two">Details</button><button id="tab-three" type="button" aria-controls="view-three">Next steps</button></div><section class="tab-panel content" id="view-one"><h3>One clear view.</h3><p>Use the buttons, arrow keys, Home or End to select a panel.</p></section><section class="tab-panel content" id="view-two"><h3>The supporting details.</h3><p>Content arrives with a restrained fade and vertical movement.</p></section><section class="tab-panel content" id="view-three"><h3>Next steps.</h3><p>All content remains available without JavaScript.</p></section></div>
Class or attributeWhat it does
aria-controls + unique idsConnect each button and panel.
arrows / home / endRoving keyboard focus and selection.
without jsAll panels remain readable.