In a design system using atomic design, is a colour, a type style or a spacing value an atom, and why does the answer matter?
answer
- element versus property
- can it be used as UI?
- the heading's font size
- values feed atoms
- keeps the atom list meaningful
basics
~20 sUsually not. A colour, type style or spacing value is a property that atoms use, not an interface element you can place and use. Keeping values separate from atoms stops the atom list filling with non-functional entries and keeps the indivisibility test meaningful.
solid answer
~50 sIn atomic design an atom is a functional interface element, such as a label, input, button or icon, that cannot be broken down further without ceasing to work. A colour, a type style or a spacing value cannot be placed on a screen and used; it only has meaning when an element applies it. Frost himself describes things like the font size of a heading as a property of an atom, and that is the cleanest reading: values are properties that atoms consume. Some teams still list colours and fonts among atoms, which is harmless as a teaching device but causes trouble in a working system: the atom list mixes decisions with elements, the indivisibility test stops making sense, and people look for colour guidance in the component catalogue. Most systems keep values in their own foundations layer and keep atoms for elements.
go deeper
Recall that an atom is a functional element you can place on a screen, while a colour or spacing value is a property that elements use.
Explain the element-versus-property distinction, why it keeps the indivisibility test meaningful, and where values usually live instead.
Show how you would restructure a catalogue that mixes values and atoms, and how you would handle edge cases like dividers and text styles.
Discuss when a looser teaching taxonomy is acceptable and when a system needs a strict separation between values and elements.
## The question behind the question When interviewers ask whether a colour is an atom, they are checking whether a candidate understands what an atom **is**. In Brad Frost's atomic design, atoms are basic interface elements, such as labels, inputs and buttons, that cannot be broken down further without ceasing to be **functional**. The key word is functional: an atom is something you can put on a screen and use. ## Elements versus properties There are two different kinds of thing in a design system: | | Interface element | Property value | |---|---|---| | Examples in a travel-expense tool | Amount input, category label, submit-report button, receipt icon | The brand's accent colour, the body text style, the standard gap between form rows | | Can a user see or use it alone? | Yes | No, only as applied to an element | | Has states such as focus or error? | Often | No | | Passes the indivisibility test? | It is either an atom or a composition | The test does not apply; it is not an element | | Where it usually lives | Component catalogue | Foundations or style guidelines | Frost's own description supports this split. He writes that each interface atom has its own properties, giving examples such as the dimensions of an image or the font size of a primary heading. The heading is the atom; its font size is a **property** of it. ## Why some teams list values as atoms anyway It is common to see colour palettes, typefaces and even animations listed among atoms in team documentation. The intuition is reasonable: they are the most basic ingredients of the interface. As a teaching device it does little harm. In a working system, though, it creates problems: - **The indivisibility test breaks.** You cannot ask whether a colour can be split into working elements, because it is not an element to begin with. - **The atom list becomes two lists in one.** Designers looking for the amount input have to scroll past swatches, and engineers looking for the accent colour look in the wrong place. - **Ownership blurs.** A change to the accent colour is a decision that affects every atom; a change to the input atom affects every place the input appears. Treating them as the same kind of thing hides that difference. - **Reviews get muddled.** A value review is about brand and accessibility; an atom review is about behaviour, states and anatomy. ## Where values go instead Most systems keep a separate **foundations** layer (colour, type, spacing, elevation, motion) that sits beneath atoms. Atoms consume those values; they do not contain or redefine them. How those values are structured, named and aliased is a separate part of the system. The practical rule is: 1. If you can place it on a screen and a user can perceive or operate it on its own, it is an **element**, and the indivisibility test decides whether it is an atom. 2. If it only exists as an attribute of an element, it is a **value**, and it belongs in the foundations. ## Edge cases - **A divider line.** It is visible and can be placed on its own, so many systems treat it as an atom, even though it does little. The test is whether the team places it as an element; if it is only ever part of a list's styling, it is a property. - **An icon.** An icon is an element, not a value, even though an icon set feels like a foundation. It can be placed, it has meaning, and it is an atom. - **A text style.** "Heading, level 2" as a style is a value; a heading element that applies it is an atom. ## Why it matters in an interview The strongest answers do not just say "no". They explain the element-versus-property distinction, show how it keeps the atom list and the indivisibility test useful, and acknowledge that some teams draw the line differently for teaching purposes.
- Is an icon an atom or a foundation value like colour?An icon is an element: it can be placed on a screen, carries meaning and can be perceived on its own, so it is an atom. The icon set's style rules, such as stroke weight and grid, are foundation guidance, but each icon itself is an interface element that other components contain.
- A team's catalogue lists 'accent colour' and 'body text' as atoms. Is that wrong?It is a defensible teaching shortcut but a poor working structure. It mixes values with elements, makes the indivisibility test meaningless for those entries and sends people to the wrong place for guidance. I would move values into a foundations section and keep atoms for elements that can be placed and used.
saying these in an interview costs you the question
- Claims a colour value passes the indivisibility test like a button does.
- Thinks a text style and a heading element are the same kind of thing.
- Treats an icon as a foundation value rather than a placeable element.
- Cannot explain the difference between an element and its properties.
- Says a spacing value has states such as focus and error.