skip to content

Standard UI Components

The component families almost every system ships first, each specified by anatomy, variants, states, behaviour and accessibility. Interviewers probe whether you know each family's rules.

part ofDesign systems & UX foundationsoverview, primer and where to startread it →
on this pageshow

explore

questions

page 2 of 2

In a loading-indicator spec, why add a short delay before a spinner appears and a minimum time it stays visible once shown?

level: middleimportance: should knowfreq 46%

basics

~20 s

The delay keeps fast responses from flashing a spinner that reads as a glitch; the minimum display time stops a spinner that did appear from vanishing a split second later. Both remove flicker; neither slows fast responses.

open as a page

For a progress indicator in a design system, what decides determinate versus indeterminate, and what goes wrong when a team fakes determinate progress?

level: middleimportance: should knowfreq 42%

basics

~20 s

An indicator is determinate only when the product can measure completed work against a known total; otherwise it is indeterminate. Faked percentages stall, jump or run backwards, and teach users to distrust every progress bar.

open as a page

On a hotel booking site, a parent 'Accessibility features' checkbox controls six amenity checkboxes; how should its mixed state look and behave?

level: middleimportance: should knowfreq 48%

basics

~20 s

The parent shows checked when all six are checked, unchecked when none are, and mixed, drawn as a dash, when only some are. Activating it checks all six, or unchecks all when all were checked; mixed is derived, not picked.

open as a page

In a payroll product, how should a multi-select for choosing several of 2,000 cost centres handle search, selected chips and the long list?

level: middleimportance: should knowfreq 42%

basics

~20 s

Use a filterable combobox, not a scrolling list: typing narrows the 2,000 options, the popup stays open for more picks, selections show as removable chips with an overflow count, and grouped or virtualised options still report their position and the total.

open as a page

For a tabs component, what is the difference between automatic and manual activation, and when should a design system choose manual?

level: middleimportance: should knowfreq 44%

basics

~10 s

With automatic activation, moving focus to a tab shows its panel; with manual activation, focus moves freely and Space or Enter shows the panel. Choose manual when panels cannot appear without noticeable latency.

open as a page

In a tabs component following the WAI-ARIA Authoring Practices, how should the keyboard move between tabs and into the panel, and why?

level: middleimportance: should knowfreq 40%

basics

~20 s

The tab list is one stop in the Tab sequence: Tab lands on the active tab, arrow keys move between tabs and wrap at the ends, and the next Tab press leaves the list, usually into the panel.

open as a page

In a patient portal, why should a 1,000-character message to the care team use a multi-line text area, and how should its character counter behave?

level: middleimportance: should knowfreq 42%

basics

~20 s

A multi-line text area signals that sentences are expected, wraps text and lets Enter add a line. Its counter states the limit up front, shows what remains, flags and blocks over-limit text instead of cutting it, and announces only at thresholds.

open as a page

When a popover's preferred placement would run off the screen edge, how should a design system's placement rules decide where it goes?

level: middleimportance: should knowfreq 36%

basics

~20 s

Try the preferred side, flip to the opposite side if that overflows, then shift along the edge to stay inside a safe margin with the arrow still on the trigger; if nothing fits, cap the size and scroll inside.

open as a page

A freelance marketplace marks each freelancer's avatar with a green, amber or grey availability dot; which users does this fail, and how would you fix the spec?

level: seniorimportance: should knowfreq 45%

basics

~20 s

Dots that differ only in hue fail people with color-vision deficiencies (WCAG 1.4.1), low-vision users when the dot lacks 3:1 contrast against its surroundings (1.4.11), and anyone relying on a text alternative. Fix with distinct shapes, a separating ring, and text.

open as a page

Under WCAG 2.2, an e-signature app's toolbar of small icon-only buttons fails an accessibility audit. What do you check, and how do you fix it?

level: seniorimportance: should knowfreq 42%

basics

~20 s

Check that each button has an accessible name describing its action, that targets meet 2.5.8's 24-by-24 minimum or its spacing exception, that icons reach 3:1 non-text contrast, and that toggle buttons keep a stable label while exposing state.

open as a page

In a university course-registration portal, students see the same 'No courses' message for an empty plan, filters matching nothing and a failed catalog request — what is wrong, and how should the collection's empty states be designed?

level: seniorimportance: should knowfreq 42%

basics

~20 s

One message hides three different causes, and the error case is false. Design each state separately: explain first-use and offer the next step, show and relax filters for no results, and show an error with retry when data failed.

open as a page

For a delete-confirmation modal in a pharmacy refill app, users click through it without reading and then ask support to restore prescriptions; how would you redesign it?

level: seniorimportance: should knowfreq 45%

basics

~20 s

Users click through confirmations that look the same every time. Name the prescription and the consequence, label buttons with verbs, focus the safe choice, and where possible replace the confirmation with an undo so the action is reversible.

open as a page

In a pharmacy refill app, a refill modal opens an insurance modal, which opens an address modal; how would you diagnose the problems and decide whether it should become a page?

level: seniorimportance: should knowfreq 38%

basics

~20 s

Stacked modals are allowed but fragile: each layer must block those beneath, Escape closes only the top one, and focus returns to its trigger in the dialog below. A multi-step task needing history or its own address belongs on a page.

open as a page

A video-streaming app on TV and web fires toasts for downloads, profile changes and a failed payment at once; how should the design system stack, queue or escalate them?

level: seniorimportance: should knowfreq 40%

basics

~20 s

Route every toast through one region with a small visible limit, queue the rest and collapse duplicates, start each timer only when shown, and escalate the failed payment out of toasts into a persistent banner.

open as a page

A restaurant's pay-at-table tablet runs a four-step checkout form — split, tip, payment, receipt — and guests abandon it midway; how would you redesign its steps, progress and back navigation?

level: seniorimportance: should knowfreq 54%

basics

~20 s

Measure where guests leave, give each step one clear topic, show named progress in text, keep every answer on back navigation, never ask for the same data twice, and add a review step before the card is charged.

open as a page

A restaurant POS back office has forty settings forms; when should a design system generate forms from a schema instead of composing each by hand?

level: seniorimportance: should knowfreq 38%

basics

~20 s

Generate from a schema when many similar forms must follow one pattern, ideally across platforms; the schema must then carry labels, help, grouping and order, not just types. Hand-compose the few high-stakes flows that need bespoke layout and copy.

open as a page

A screen-reader user taps Sync in a fitness app and hears nothing during a 20-second sync or when it ends — what should the loading indicator's accessibility contract specify?

level: seniorimportance: should knowfreq 38%

basics

~20 s

Name the indicator, announce the wait and occasional progress without moving focus, announce completion or failure explicitly, and mark the updating region busy. WCAG 2.2 SC 4.1.3 Status Messages treats waiting and progress as status messages.

open as a page

In a fitness-tracker app, the workout-history screen's content jumps when real data replaces its skeleton, and users tap the wrong workout — why, and how do you fix it?

level: seniorimportance: should knowfreq 40%

basics

~20 s

The placeholder and the real content occupy different space, so arriving data pushes rows under the user's finger. Fix it by building skeletons from the real layout, reserving space for late media, and never inserting content above what the user is reading.

open as a page

A hotel booking site's room-rate radio group reloads the page and moves focus to the top on every change; why does that break keyboard users, and what is the fix?

level: seniorimportance: should knowfreq 40%

basics

~20 s

In a radio group, arrow keys move focus and check the option in one step, so reaching the third rate fires two reloads that throw focus away. Update the price in place without moving focus, or apply the choice on an explicit action.

open as a page

A payroll product's employee-picker combobox silently takes the first suggestion when focus leaves, and wrong people get paid; what went wrong, and which autocomplete behaviour fits?

level: seniorimportance: should knowfreq 44%

basics

~20 s

It uses list autocomplete with automatic selection, so a partial name becomes the highlighted first match when focus leaves. For a costly pick from a fixed set, use manual selection: typing only filters, someone must choose explicitly, and unmatched text is flagged, not replaced.

open as a page

A patient portal added input masks to its phone and insurance-ID text fields, and form completion dropped; what do masks break, and what would you specify instead?

level: seniorimportance: should knowfreq 38%

basics

~20 s

Strict masks reject or garble pasted and autofilled values, fight caret movement and deletion, assume one format that real values break, and can be read aloud as symbols. Specify lenient input, silent normalisation, and a format example in helper text.

open as a page

showing 31–53 of 53