# Accessibility

> Contrast, touch targets, semantics and focus are part of every component.

- Interactive page: https://m3e.ljzapps.app/#foundations/accessibility

Contrast, touch targets, semantics and focus are part of every component.

Checklist:
- Touch targets are at least 48 by 48 dp, even when the visible control is smaller.
- Text has a contrast ratio of at least 4.5:1, large text and icons at least 3:1.
- Icon-only controls have a `contentDescription`. Decorative icons use null.
- State is exposed through semantics, such as Role, selected and toggleable state.
- Everything reachable by pointer is reachable by keyboard, with a visible focus indicator.
- Layouts survive 200 percent font scale without clipping.
- Motion can be reduced, and nothing flashes more than three times per second.

```kotlin
IconButton(onClick = onDelete) {
    Icon(Icons.Rounded.Delete, contentDescription = "Delete message")
}
```
