Component API brief
Define a component API that is clear to use, accessible by default, safe to compose, and practical to evolve.
Design systems · 45 min · Advanced · 31 questions
Use cases
How should consumers use this component?
When should consumers use something else?
Which native meaning should the component preserve?
API surface
Which props does the component need?
Which variants belong in the public API?
Which parts may consumers replace?
Which defaults make the common case simple?
Which invalid combinations should the API prevent?
State
Which state should a consumer control?
Which state may the component manage itself?
Which state can be derived from other props?
When should internal state reset?
Events
Which user actions should emit public events?
What should each event payload contain?
In what order should related events fire?
Which events may consumers cancel?
How should public events relate to native browser events?
Accessibility
Which accessibility behavior does the API guarantee?
Which accessibility relationships must consumers provide?
Which keyboard behavior is built in?
How does the component manage focus?
Which changes should assistive technology announce?
Composition and styling
How should consumers compose the component safely?
Which compositions would create invalid markup?
Which styling controls are public?
Which styles must remain internal?
Evolution
How will breaking API changes be introduced?
Which version change signals a breaking update?
How will deprecated features be communicated?
What API migration support will component consumers receive?
Which tests protect existing consumers?
How to use this brief
Use this brief as a bank of questions for the conversation. Choose what is relevant, mark covered questions as you go, and skip anything that has already been answered.
Use this brief when...
Use when defining the contract and behavior of one specific component.
Best used as: Live call · Async intake
- Category
- Design systems
- Discussion time
- 45 minutes
- Depth
- Advanced
- Last updated
- Jul 21, 2026
- Scope
- Design briefs
- Best used as
- Live callAsync intake
- Design roles
- Design systems designer
- Audience
- Design leadsProduct designersUX and UI designers
- Platforms
- Design toolsWebiOSAndroid
- Company type
- B2BB2CEnterprise
- Product stage
- GrowthMature product
- Tags
- design-systemscomponent-apisystems-and-platformscomponent-api-designlibrary-contract