Panel accessibility
What Panel handles for you, and what you still provide.
Panel markup
Use role="dialog" for modal-like sidebars, role="region" for inline panels.
HTML
<div id="my-panel" data-panel data-panel-axis="horizontal">
<div class="panel-wrapper" role="dialog" aria-label="Settings">
<button data-panel-close aria-label="Close Settings">✕</button>
<!-- content-->
</div>
</div>
autoFocus options
Panel and PanelSet take the same autoFocus values.
| Value | What it focuses | Best for |
|---|---|---|
'heading' |
First h1-h6 in panel (gets tabindex="-1" automatically) |
Standard tabs with headings |
'first' |
First focusable element (button, link, input) | Wizard steps, forms |
true |
The panel element itself | Panels with aria-label |
'input' |
First form field (input, select, textarea) | Forms, bypasses keyboard-only check |
false |
Nothing (no focus movement) | Page load, mouse-only interfaces |