Buttons
Icon button
Use a familiar icon and always provide an accessible name.Choose it deliberately
Use the component when its interaction contract matches the user task.
Use when
You need compact icon-only actions with predictable M3 behavior.
Avoid overloading
Do not move application business state, requests, or navigation rules into the component.
Composition
Sizing, labels, and neighboring elements should preserve visual hierarchy.
One primary meaning
Label and supporting content should communicate one task.
Stable geometry
Avoid unnecessary size or position changes during interaction.