UI Primitive
The small set of typed components through which all interface markup is expressed.
A UI primitive is a low-level component that owns a category of markup and styling on behalf of everything above it — commonly a generic box, a text element, and a heading element, each rendering a configurable tag and accepting design decisions as typed properties rather than as free-form styling.
The rationale is boundary control. If raw elements with arbitrary styling are allowed anywhere in application code, every file is a place where the Design System can be bypassed. If they exist only inside the primitives, the system's coverage is enforceable by a rule that inspects markup rather than by review.
The consequence is that the primitives must grow. When a component needs a capability the primitives cannot express, the choice is to extend the primitive or to smuggle. Extending is more work and it is the point — the new capability becomes available, named, and reusable rather than local and invisible. This applies all the way down: even a small focused component should be built from the primitives, not from raw markup, or the exception becomes the precedent.
Growth has a cost worth planning for. A primitive that accumulates properties from several directions at once becomes a merge hotspot, and its property list is best kept in a predictable order so parallel additions combine cleanly.
See also5
Hand-picked in the note itself — the neighbours worth reading next.
Design System
A shared vocabulary of tokens, primitives, and rules that makes independent work converge.
Design & Interface9 connections
Headless Component
A component supplying behaviour and accessibility with no styling of its own.
Design & Interface13 connections
Utility-First CSS
Composing styles from many small single-purpose classes rather than authoring semantic rules.
Design & Interface11 connections
Semantic HTML
Using elements for their meaning, so the document conveys structure without extra description.
Design & Interface12 connections
Container Query
Styling based on the size of an element's container rather than the viewport.
Design & Interface6 connections
Related4
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from7
Notes elsewhere in the wiki that reach for this one.
- ARIADesign & Interface
Attributes that describe roles, states, and relationships to assistive technology when HTML cannot.
- Container QueryDesign & Interface
Styling based on the size of an element's container rather than the viewport.
- Design SystemDesign & Interface
A shared vocabulary of tokens, primitives, and rules that makes independent work converge.
- Headless ComponentDesign & Interface
A component supplying behaviour and accessibility with no styling of its own.
- Semantic HTMLDesign & Interface
Using elements for their meaning, so the document conveys structure without extra description.
- Typographic ScaleDesign & Interface
A constrained set of type sizes and their paired line heights and spacing.
- Utility-First CSSDesign & Interface
Composing styles from many small single-purpose classes rather than authoring semantic rules.