This reference packages the design patterns from the W3C WAI-ARIA Authoring Practices Guide (APG) version 1.2 into a single searchable, offline page. Each pattern lists the role, a one-line summary, the keyboard interaction model, and the ARIA states and properties a correct implementation must expose. Use it as a build-time checklist when you are writing a custom widget that has no native HTML equivalent.
How it works
The tool holds a static dataset of more than twenty-five widget patterns — accordion, alert, alert dialog, breadcrumb, button, checkbox, combobox, dialog, disclosure, feed, grid, link, listbox, menu, radio group, slider, spinbutton, switch, table, tabs, toolbar, tooltip, tree view, tree grid, and window splitter.
When you type into the search box, every pattern is matched against its name,
role, summary, and attribute list. Clicking a pattern header toggles its detail
panel, which is itself built using the disclosure pattern (a button with
aria-expanded) so the tool models the very practices it documents.
For each pattern, two checklists are shown:
- Keyboard interaction — the keys a user must be able to press and what each
one does. For example, a
dialogmust trapTabfocus and close onEscape, while asliderresponds to arrow keys,Home,End, andPage Up/Page Down. - Required / recommended ARIA — the roles, states, and properties to set.
For a
tablistthat meansaria-selectedon the active tab,aria-controlslinking each tab to itstabpanel, and a rovingtabindex.
Notes and tips
A few rules catch developers out repeatedly. Links activate only on Enter,
never Space, so do not bind Space to a role=link element. Tooltips must be
dismissable with Escape and stay visible while hovered, per WCAG 1.4.13. Modal
dialogs must move initial focus inside the dialog and return it to the trigger on
close. Accordions only need role=region on their panels when there are six or
fewer of them, to avoid landmark clutter.
These patterns are a starting specification, not a conformance certificate. A widget that implements its pattern correctly will still need adequate contrast, visible focus indicators, and accessible labels to meet WCAG in full. When in doubt, test with a real screen reader against the official APG example for the pattern. Everything in this tool runs locally in your browser.