Molecules
A few atoms working together as one unit with one job: a quantity stepper, a menu button, a breadcrumb trail.
Actions
- Button group
- Buttons joined edge to edge into one control: neighbours share a single control-border line and only the outer corners keep radius-control.
- Hint popover
- A tooltip-like hint built from two new platform features: popover="hint" (a popover that does not close other open popovers) and interestfor (shows it when the button is hovered or focused, and hides it when interest moves away).
- Menu button
- The APG Menu Button: a button with aria-haspopup="menu" and aria-expanded that opens a role="menu" of role="menuitem" actions.
- Tooltip
- A short hint that appears above its trigger on hover and on keyboard focus, and hides again on Esc (WCAG 1.4.13).
Navigation
- Breadcrumb
- A <nav aria-label="Breadcrumb"> holding an <ol> of links, separated by a › that screen readers skip.
- Stepper
- An ordered list of steps: <ol class="pd-steps" aria-label>, with data-done on finished steps and aria-current="step" on the current one.
Forms
- Combobox
- An editable combobox with list autocomplete: a text <input role="combobox"> controlling a role="listbox" popup of suggestions.
- Fieldset
- A <fieldset> with a 1px solid control-border (in place of the low-contrast 2px groove) and a <legend> set into the top border.
- File upload
- A native <input type="file"> inside a large dashed drop zone (label.pd-drop), with one progress bar per file.
- Input group
- A <label> above a row of joined members on field, bordered in control-border, typed text in field-text at 16px: inputs and selects that grow, addons in their own bordered boxes, and buttons.
- Listbox
- A single-select list where every option stays visible: <ul role="listbox" tabindex="0"> of role="option"s, using aria-activedescendant for the highlighted option.
- Range slider
- The APG multi-thumb slider, built from two native range inputs in a <fieldset>: one for the minimum, one for the maximum.
- Spinbutton
- A native <input type="number"> (role spinbutton) with large − and + buttons, joined into one control with ButtonGroup.
- Tri-state checkbox
- A parent checkbox that shows whether all, none or some of its children are checked.
Status
- Loading
- Loading at three levels, each saying what is happening in words first: a button whose action is under way, a component waiting for its content, and a region or page waiting for data.
- Toast
- A brief confirmation in the corner, placed in the top layer with popover="manual" and announced through role="status".
Content
- Review comments
- Tracked changes and comments in a text, using the review roles from the WAI-ARIA 1.3 draft: role="suggestion" around a <del>/<ins> pair, role="mark" on commented text, role="comment" for the note, and aria-details linking the two.