Comparison library · 8 ambiguity groups

Compare UI components by behavior, not appearance.

Use side-by-side contracts to separate UI components that look similar but require different focus, keyboard, modality, persistence, placement, or value behavior.

Describe an interface

Choose the next route

Choose the route that matches what you know

Use a name guide, a side-by-side comparison, or the identification process without forcing one page to answer all three tasks.

Name known

Browse UI component names

Use the reference library when you know or suspect the name and need a reviewed behavior contract.

Open the component name library

Name unknown

Identify an unnamed component

Use the identification guide when you can describe behavior but do not yet know which component or comparison to open.

Open the identification guide

Common comparison decisions

Start from the wording users actually search

These routes answer existing comparison questions. They do not add new taxonomy terms or create new URLs.

Comparison method

Start with the requirement that changes the build

A useful comparison eliminates the wrong component before it recommends the closest name.

01

Find the semantic job

Decide whether the interface communicates information, collects a value, exposes commands, navigates, interrupts a task, or reveals hidden content. Components with a similar outline may solve different jobs.

02

Record interaction evidence

Write down the trigger, dismissal route, focus movement, keyboard behavior, background availability, placement, persistence, and mobile adaptation. These facts form the implementation contract.

03

Test the rejected option

Ask what would break if you used the nearest alternative. If required links cannot be operated, a value cannot be typed, or focus escapes a modal task, the visual match is not enough.

Comparison library

Choose a decision file

Each file includes a behavior matrix, decisive questions, related pattern definitions, and an implementation-oriented conclusion.

Frequently asked questions

UI pattern comparison questions

Direct answers based on the reviewed behavior contract above.

Why compare UI patterns instead of choosing by appearance?

Appearance does not reliably determine semantics or behavior. Two surfaces can share the same size and position while requiring different focus, keyboard, dismissal, modality, persistence, or value rules. Comparing contracts exposes those differences before implementation.

What should I compare first?

Start with the user task and the requirement that would make an alternative fail. Interactive content, background blocking, editable input, command versus navigation intent, message persistence, and single versus grouped disclosure are common decisive boundaries.

Does the comparison choose a component library?

No. The comparison is framework-neutral. It helps you specify behavior and reject incompatible patterns. You still select a component library, confirm its actual contract, and test the implementation in your browser and assistive technology setup.