A sidepanel is a window that slides in from the edge of the screen and appears on top of the main page content.
A sidepanel is similar to a modal. It works well when you need to display a large amount of data.
By default the sidepanel appears on the right, but depending on context it can also appear on the left.
When opening, the sidepanel slides in from the edge of the screen and dims the rest of the page (indicating that the dimmed area is not interactive). When closed (or when the overlay is clicked), it slides back out.
When opening, the sidepanel slides in from the edge of the screen without dimming the rest of the page, so all elements behind it remain interactive.
You can open another sidepanel from within a sidepanel. Non-modal sidepanels stack on top of each other with an offset. Regardless of how many sidepanels are open, only a single offset is shown to avoid visual noise.
Use this mode when you want to create navigation flows within a sidepanel.
Clicking the vertical area exposed by the panel underneath closes the top panel.
| Modal | Non-modal |
|---|---|
| Not recommended for read-only viewing | Recommended for read-only viewing |
| Used for editing like a regular modal dialog | Used only for editing parts of a large object, without explicitly saving those parts |
| Action buttons are always required | Action buttons are optional |
While the sidepanel is open, focus cycles only through elements inside the panel, including the close button and footer buttons, and does not leave the panel.
When a sidepanel opens, focus moves to an element inside it. Where focus lands depends on the nature and size of the content:
tabindex=-1 to a static element at the start of the content (a heading or first paragraph) and set focus on it.When the sidepanel closes, focus returns by default to the element that triggered it (though it is unlikely the user will want to reopen the same sidepanel immediately). If the trigger element no longer exists, focus returns to another element appropriate to the interaction flow.
In some situations, focus may intentionally return to a different element than the one that originally opened the sidepanel. For example, if the task performed in the sidepanel is directly connected to the next step in the workflow. Suppose a table toolbar has an "Add rows" button. Clicking it opens a sidepanel asking for the number and format of new rows. After the sidepanel closes, focus is placed on the first cell of the first new row.
Key |
Action |
|---|---|
| Ctrl + ↵ | Perform the primary action of the sidepanel |
| Esc | Close the sidepanel: 1. If no data was changed in the sidepanel 2. If the focused element does not have its own handler for this key |
| ↵ | Submit the form when pressing Enter in any text input |
The panel takes up the full height of the browser window. There is no horizontal scroll — content must fit within the panel width.
| Preset | Width |
|---|---|
| Small | 400 |
| Medium | 640 (default) |
| Large | 960 |
The width is chosen by the designer and analyst based on the task. In addition to a fixed pixel width, the width can be set as a percentage of the total screen width, with defined minimum and maximum pixel values. Percentages allow the sidepanel to scale proportionally, while the limits prevent it from becoming too wide or too narrow. In specific cases a plain fixed pixel width can be used.
When choosing the sidepanel size, consider the following: