An accordion is a vertical stack of interactive headings used to toggle the display of further information; each item can be 'collapsed' with just a short label visible or 'expanded' to show the complete content.
Other names: Arrow toggle, Collapse, Collapsible sections, Collapsible, Details, Disclosure, Expandable, Expander, ShowyHideyThing
Other names: Notification, Feedback, Message, Banner
A way of informing the user of important changes in a prominent way.
Other names: Audio
Used for embedding a sound file in a page: usually has controls for volume, play/pause etc.
A graphical representation of a user: usually a photo, illustration or initial.
Other names: Breadcrumb trail
A list of links showing the location of the current page in the navigational hierarchy.
Buttons trigger an action such as submitting a form or showing/hiding an interface component.
Other names: Toolbar
A wrapper for multiple, related buttons.
A container for content representing a single entity. e.g. a contact, article, or task.
An input for choosing from predefined options:
- when used alone, it gives a binary choice (checked/unchecked);
- in a group it allows the user to select multiple values from a list of options.
Other names: Autocomplete
An input that behaves similarly to a select, with the addition of a free text input to filter options.
A means of inputting a date – often separated into multiple individual fields for day/month/year.
Other names: Datetime picker
A visual way to choose a date using a calendar view.
A panel which slides out from the edge of the screen.
Other names: Select menu
A menu in which options are hidden by default, but can be shown by interacting with a button. Differs from a select in that it shows actions or navigation options and is not a form input.
A way of grouping multiple, related form fields
Other names: Attachment, Download
A representation of a file such as an uploaded attachment or a downloadable PDF.
Other names: File input, File uploader, Dropzone
An input which allows users to upload a file from their device.
Commonly appearing at the bottom of a page or section; a footer is used to display copyright and legal information or links to related content.
A grouping of input controls that allow a user to submit information to a server.
An element that appears across the top of all pages on a website or application; it usually contains the site name and main navigation.
A title or caption used to introduce a new section.
Other names: Jumbotron, Banner
A large banner, usually appearing as one of the first items on a page; often contains a full-width image.
Other names: Divider, Separator
A separator between two elements, usually consisting of a horizontal line.
An icon is a graphic symbol designed to visually indicate the purpose of an interface element.
Other names: Picture
An element for embedding images.
Other names: Anchor, Hyperlink
A link is a reference to a resource. This can be external (e.g. a different web page) or internal (e.g. a specific element in the current document).
Lists are used for grouping a collection of related items. In HTML there are three types:
- unordered list — for items in no particular order.
- ordered list — for items in a specific order.
- description list — for descriptions.
Other names: Nav, Menu
A container for navigation links; these can be external (e.g. main site navigation) or internal links (e.g a table of contents).
Pagination is the process of splitting information over multiple pages instead of showing it all on a single page; also the name for the interface component used for navigating between these pages.
Other names: Progress
A horizontal bar indicating the current completion status of a long-running task, usually updated continuously as the task progresses, instead of in discrete steps.
Other names: Progress tracker, Stepper, Steps
A representation of a user’s progress through a series of discrete steps.
Other names: Pull quote, Block quote
Quotes are used to display a quotation: either from a person or another outside source; or to highlight a passage of the current document (a pull quote).
Other names: Radio, Radio group
Radio buttons allow a user to select a single option from a list of predefined options.
Rich text editor
Other names: RTE, wysiwyg editor
An interface for editing “rich text” content (i.e. with formatting), usually through a WYSIWYG interface.
Other names: Search
Search inputs allow users to find content by entering a search term.
A hybrid somewhere between a button group, radio buttons, and tabs; segmented controls are used to switch between different options or views.
Other names: Dropdown, Select input
A form input used for selecting a value: when collapsed it shows the currently selected option and when expanded, it shows a scrollable list of predefined options for the user to choose from.
Links within a page for skipping to another section, primarily for keyboard-only users.
Other names: Range input
A form control for choosing a value within a preset range of values.
Other names: Loading
A visual indicator that something is happening, but it's not yet ready for interaction.
A control for editing a numeric value with buttons for decrementing / incrementing.
A component for displaying large amounts of data in rows and columns.
Other names: Tabbed interface
Tabbed interfaces are a way of navigating between multiple panels, reducing clutter and fitting more into a smaller space.
A form control that accepts a single line of text.
Other names: Textbox, Text box
A form control for editing multi-line text.
A type of alert which appears in a layer above other content, visually similar to a mobile or desktop push notification.
Other names: Switch, Lightswitch, Toggle button
A control used to switch between two states: often on or off.
Other names: Popover
A means of displaying a description or extra information about an element, usually on hover, but can also be on click or tap.
Other names: Screenreader only
Invisible text used to provide extra context for users of assistive technology.