The attachment of discussion and annotation to a specific piece of content, balancing collaborative input with the integrity of the primary experience.
Variants
- Flat: Simple comment lists without nesting
- Threaded: Nested replies supporting conversation depth
Resolution states
Persistent: Comments remain visible until manually resolved
- Supports ongoing discussions and reference
- Useful for documentation and knowledge capture
- Maintains historical context
Ephemeral: Comments fade over time
- Reduces interface clutter for transient feedback
- Suitable for iterative design and development workflows
- Focuses attention on current issues
States
Empty state
- No comments exist yet
- Clear invitation to start discussions
- Might show commenting capabilities subtly
Active commenting
- Comment threads in progress
- Clear visual indicators for commented elements
- Easy navigation between comment locations
Resolved discussions
- Completed or archived comment threads
- Optional visibility controls for resolved items
- Historical context preservation
Draft states
- Unsaved comment composition
- Auto-save and recovery capabilities
- Clear indication of draft vs published status
Examples
Commenting can be integrated into any interface or content type, including:
Text documents
Domain entities
…
Resources & references
- Ink & Switch / Universal Comments
- Google Docs / Comments
- Notion / Comments, mentions & reactions
- Figma / Comments
Related patterns
Complements
- Collaboration — provides broader collaborative context
- Activity log — tracks commenting activity over time
- Notification — alerts users to comment activity
Tangentially related
- Conversation — provides dialogue interaction principles
- Status feedback — indicates comment and resolution states
Related
- Deep linking — Comments get unique URLs
Preceded by
- Annotation — extends static annotation into dynamic discussion.
