Skip to content
tezvyn:

CSS & Design Systems

Tailwind, CSS, accessibility, design tokens

151 bites

Test yourself: Top 30 intermediate CSS & Design Systems interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Intermediate everything in CSS & Design Systems, page 2

intermediate1 min read

Clickable card: div onClick versus anchor tag

Use an a tag for navigation; it is focusable, keyboard-activatable, announced as a link, and supports open-in-new-tab; a div onClick loses all of that without manual ARIA work.

intermediate1 min read

Architecting multi-brand, dark-mode theming

Tier tokens into primitive, semantic, and component layers; components consume semantic tokens; themes swap by remapping semantic-to-primitive on a scope like data-theme.

intermediate1 min read

Versioning and distributing token updates safely

Publish tokens as a semver package, bump major on breaking changes, deprecate before removing, communicate via changelogs and migration guides.

intermediate1 min read

Transforming tokens for multiple platforms

A transformer like Style Dictionary parses JSON, applies platform transforms, and renders formatted outputs (CSS vars, Swift, Kotlin) via configured platforms.

intermediate1 min read

What design tokens are and why they matter

Tokens are named, platform-agnostic design decisions stored centrally, enabling consistency, theming, and one-place updates.

intermediate1 min read

How BEM tames specificity and !important

BEM names block, element, modifier as flat single classes, keeping specificity low and equal, removing the need for deep selectors and !important.

intermediate1 min read

Why Oklch beats HSL for color variations

HSL lightness is not perceptually uniform so equal steps look uneven, Oklch keeps perceived lightness consistent across hues, giving predictable hover and palette scales.

intermediate1 min read

Styling a parent with the :has() selector

:has() matches an element that contains or relates to a given selector, enabling upward styling; figure:has(figcaption) targets captioned figures.

intermediate1 min read

When container queries beat media queries

Media queries react to viewport, container queries react to a parent's size, ideal for reusable components; set container-type on an ancestor then query it.

intermediate2 min read

Governance for design system contributions

A clear intake and proposal step, review by core maintainers plus design, and criteria covering accessibility, API consistency, tokens, tests, and docs.

intermediate2 min read

Classifying a Card change under SemVer

Removing a prop is breaking so the whole release is major, document and migrate, and release the highest applicable level.

intermediate1 min read

Bundling a component library for tree-shaking

Ship ES modules, mark sideEffects false, preserve named exports, and externalize peers so consumers tree-shake and code-split.

intermediate2 min read

Releasing a breaking Button change with SemVer

Bump the major version, write a changelog and migration guide, deprecate before removing where possible, and communicate clearly.

intermediate2 min read

Automated visual regression testing for components

Render components in known states, capture screenshots, diff against approved baselines in CI, and require human review of differences.

intermediate1 min read

Announcing status messages with ARIA live regions

Use a live region with aria-live polite or role status, ensure it exists in the DOM beforehand, and insert text to trigger announcement.

intermediate1 min read

ARIA roles for an accessible tab interface

Tablist contains tabs, each tab uses aria-selected and aria-controls, panels use role tabpanel with aria-labelledby, and arrow keys move between tabs.

intermediate1 min read

Managing focus in an accessible modal dialog

Move focus in on open, trap Tab within the dialog, close on Escape, and restore focus to the trigger on close.

intermediate1 min read

Controlled vs uncontrolled Modal component

Uncontrolled is convenient but inflexible, controlled gives parent full power and predictability, and a hybrid supports both.

intermediate2 min read

CSS Modules versus Styled Components

CSS Modules scope via build-time hashed class names with near-zero runtime; Styled Components scope via runtime CSS-in-JS with easy dynamics but a runtime cost.

intermediate1 min read

Accessible composite TextField component

Associate label and input via matching for and id, generate a unique id, spread remaining props onto the native input.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles