Alert
An alert displays a short, important message in a way that attracts the user's attention without interrupting the user's task.
Note: This component is not documented in the Material Design guidelines, but Material-UI supports it.
Simple alerts
The alert offers four severity levels that set a distinctive icon and color.
<Alert severity="error">This is an error alert — check it out!</Alert>
<Alert severity="warning">This is a warning alert — check it out!</Alert>
<Alert severity="info">This is an info alert — check it out!</Alert>
<Alert severity="success">This is a success alert — check it out!</Alert>
<Alert severity="error">
<AlertTitle>Error</AlertTitle>
This is an error alert — check it out!
</Alert>
<Alert severity="warning">
<AlertTitle>Warning</AlertTitle>
This is a warning alert — check it out!
</Alert>
<Alert severity="info">
<AlertTitle>Info</AlertTitle>
This is an info alert — check it out!
</Alert>
<Alert severity="success">
<AlertTitle>Success</AlertTitle>
This is a success alert — check it out!
</Alert>
Actions
An alert can have an action, such as a close or undo button. It is rendered after the message, at the end of the alert.
If an onClose
callback is provided and no action
prop is set, a close icon is displayed. The action
prop can be used to provide an alternative action, for example using a Button or IconButton.
<Alert onClose={() => {}}>This is a success alert — check it out!</Alert>
<Alert
action={
<Button color="inherit" size="small">
UNDO
</Button>
}
>
This is a success alert — check it out!
</Alert>
Transition
You can use a transition component such as Collapse
to transition the appearance of the alert.
Icons
The icon
prop allows you to add an icon to the beginning of the alert component.
This will override the default icon for the specified severity.
You can change the default severity to icon mapping with the iconMapping
prop. This can be defined globally using theme customization.
Setting the icon prop to false will remove the icon altogether.
<Alert icon={<CheckIcon fontSize="inherit" />} severity="success">
This is a success alert — check it out!
</Alert>
<Alert iconMapping={{ success: <CheckCircleOutlineIcon fontSize="inherit" /> }}>
This is a success alert — check it out!
</Alert>
<Alert icon={false} severity="success">
This is a success alert — check it out!
</Alert>
<Alert variant="outlined" severity="error">
This is an error alert — check it out!
</Alert>
<Alert variant="outlined" severity="warning">
This is a warning alert — check it out!
</Alert>
<Alert variant="outlined" severity="info">
This is an info alert — check it out!
</Alert>
<Alert variant="outlined" severity="success">
This is a success alert — check it out!
</Alert>
<Alert variant="filled" severity="error">
This is an error alert — check it out!
</Alert>
<Alert variant="filled" severity="warning">
This is a warning alert — check it out!
</Alert>
<Alert variant="filled" severity="info">
This is an info alert — check it out!
</Alert>
<Alert variant="filled" severity="success">
This is a success alert — check it out!
</Alert>
Toast
You can use the Snackbar to display a toast with the Alert.
Color
The color
prop will override the default color for the specified severity.
<Alert severity="success" color="info">
This is a success alert — check it out!
</Alert>
Accessibility
(WAI-ARIA: https://www.w3.org/TR/wai-aria-practices/#alert)
When the component is dynamically displayed, the content is automatically announced by most screen readers. At this time, screen readers do not inform users of alerts that are present when the page loads.
Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (for example the visible text), or is included through alternative means, such as additional hidden text.
Actions must have a tab index of 0 so that they can be reached by keyboard-only users.