> For the complete documentation index, see [llms.txt](https://outdraw-academy.gitbook.io/ux-patterns/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://outdraw-academy.gitbook.io/ux-patterns/popup.md).

# Popup

'Popup' is a generic term that refers to any temporary overlay that appears on top of the main content or interface.

{% embed url="<https://youtu.be/EWp65UQpB5g>" %}

Popups usually require interactions from the user or provide additional information. Popups can vary in size — from very small to full-screen.

> Popups are above all other elements on the Z-axis.

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2FuiDDebo3i2WuHKEaKlqa%2FPOPUPS%20AXIS.png?alt=media&amp;token=32d9a0ce-9443-4158-ac11-33e7d5427562" alt=""><figcaption></figcaption></figure>

***

## Characteristics

### **Constrained focus — modal vs. non-modal**

The key difference between modal and non-modal elements lies in the level of interruption and interaction restriction.

* **Modal elements** demand user attention by blocking interaction with the rest of the interface until the task is addressed. They interrupt the workflow and have the highest level of importance. Users cannot access the underlying layer either via regular not keyboard navigation. Modals have their own context.

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2F5wgpn34lpqgvDEOR66fy%2FShare-google%20drive.png?alt=media&amp;token=5533eabe-4f39-411a-9633-e8ae578150fe" alt=""><figcaption><p>Modal share dialog - Google Docs</p></figcaption></figure>

* **Non-modal elements** allow users to interact with the interface without requiring immediate attention or interrupting the overall workflow. They do not impose context.

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2FItSLPQ78sUwonoGCYMZI%2Fnon-modal.png?alt=media&amp;token=7f4b0275-ee90-413b-b788-c1e9ff50eeb2" alt=""><figcaption><p>Examples of non-modal elements</p></figcaption></figure>

💡 In some design systems, you can encounter a component named ‘modal’. Usually, it is a modal dialog, it’s a naming inconsistency since…

> Modality is a characteristic, not the name of a component itself.

### [**Backdrop**](/ux-patterns/backdrop.md)

In some cases, popup elements have a backdrop. Usually, it’s an overlay with lowered opacity that serves as a visual cue that…

> Signalizes that the content behind it is not available for interactions ❌.

It helps users focus on the popup and avoid confusion when trying to interact with the main page content.

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2FiRzpYx1x09bTo6lujI27%2Fbackdrop.png?alt=media&amp;token=6c96b5be-fb0d-4adb-a158-9e7b8e13eed2" alt=""><figcaption><p>Backdrop for a modal dialog</p></figcaption></figure>

**Light vs. explicit dismiss**

The third dimension to consider is how users dismiss a component.

* ***Explicit dismiss*** is when a component allows a user to dismiss it, for example, using a close button (x icon), cancel button, or the escape key.

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2FhwMAJZ4IC5lROwRa4pAG%2Fexplicit%20dismiss.png?alt=media&amp;token=81f0250a-1b49-47c0-b989-fddbaed89c88" alt=""><figcaption><p>Explicit dismiss using the 'cancel' button</p></figcaption></figure>

* ***Light dismiss*** means that a component disappears automatically under certain conditions (scroll the page, click outside of the component, or hover out of the button that was triggering it).

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2FORaO6SRz6n8symcnXJQG%2Flight%20dismiss.png?alt=media&amp;token=b85d6e1c-1adb-458c-acb0-c3063cfaf6c8" alt=""><figcaption><p>Light dismiss - hover out of the triger element</p></figcaption></figure>

***

## Examples

Popups can serve various purposes, including notifications, alerts, or even modal dialogs.

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2FZIykKUqJyPPiOxSuHNUD%2Fexplicit%20dismiss.png?alt=media&amp;token=68a600f1-dafb-4751-ae94-68dab8b717c2" alt=""><figcaption><p>Modal dialog (example of a popup)</p></figcaption></figure>

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2Fwoimc751pgnKuLCwlCnj%2Ftooltip%201.png?alt=media&amp;token=49c5f276-cf05-473a-a027-94e0a7e2b011" alt=""><figcaption><p>Tooltip (example of a popup)</p></figcaption></figure>

***

## Categorization

Popups are included in a group called [overlays](/ux-patterns/overlay.md).

💡 The main difference is that popups serve the purpose of enabling interaction or providing information, whereas **overlays also include purely graphical elements**.

<figure><img src="https://3752687644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFraMoMUTdcaUke4xMQcj%2Fuploads%2FwiTTW8DYNtcdYjXgiRrC%2FGRAPH%20POPUPS.png?alt=media&amp;token=bd953faa-4eac-4a88-9a6d-88fb1befd9a7" alt=""><figcaption></figcaption></figure>
