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 full content.
Other names: Arrow toggle, Collapse, Collapsible sections, Collapsible, Details, Disclosure, Expandable, Expander, ShowyHideyThing
Other names: Notification, Feedback, Message, Banner, Callout
A way of informing the user of important changes in a prominent way.
A graphical representation of a user: usually a photo, illustration, or initial.
Other names: Tag, Label, Chip
A small label, generally appearing inside or in close proximity to another larger interface component, representing a status, property, or some other metadata.
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.
An input for choosing a color.
Other names: Autocomplete, Autosuggest
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: Calendar, Datetime picker
A visual way to choose a date using a calendar view.
Other names: Tray, Flyout
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; it differs from a select in that it shows actions or navigation options and is not a form input.
An indication to the user that there is no data to display in the current view; it often includes an alternative action (e.g. try a different search term).
A wrapper for 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; it often contains a full-width image.
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: Form label
A text label for form inputs.
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 key-value pairs.
Other names: Dialog, Popup, Modal window
A modal is an interface element that appears over other content. It requires an interaction from the user before they can return to whatever is underneath.
Other names: Nav, Menu
A container for navigation links; these can be to other pages (e.g. main site navigation) or to elements within the current page (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.
An element that pops up from another element over other content; it differs from a tooltip in that it is usually triggered via click instead of hover and can contain interactive elements.
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, Meter
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.
Ratings let users see and/or set a star rating for a product or other item.
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.
Other names: Toggle button group
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.
Other names: Divider, Horizonal rule, Vertical rule
A separator between two elements, usually consisting of a horizontal line.
Other names: Skeleton loader
A placeholder layout for content which hasn't yet loaded, usually built up of grey boxes.
Links within a page for skipping to another section, primarily for users who navigate using a keyboard.
Other names: Range input
A form control for choosing a value within a preset range of values.
Other names: Loading
A visual indicator that a process is happening in the background but the interface is not yet ready for interaction.
A wrapper component for adding a consistent margin between components.
Other names: Nudger, Quantity
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.
Other names: Snackbar
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: Toggletip
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.
Is there a component missing?Let me know