
What is a slideout? In-app messaging element explained
You're filling out a form in a SaaS dashboard. A panel glides in from the right edge of the screen, showing a tip or feature announcement. The rest of the page stays visible behind it, slightly dimmed. You glance at the message, dismiss it, and keep working.
That's a slideout.
npm install @tourkit/core @tourkit/reactThis glossary entry defines the slideout pattern, maps the confusing terminology around it, and explains when to reach for a slideout instead of a modal or toast. We built Tour Kit with a dedicated slideout variant in @tour-kit/announcements, so we'll reference it where relevant.
Definition
A slideout is a UI panel that animates in from the edge of the screen (typically the right) and overlays current page content without fully blocking it. The parent page remains partially visible behind a semi-transparent shade, preserving the user's sense of place. Adobe's Commerce Pattern Library defines slideouts as panels for "tertiary actions or sub-processes related to the user's primary path" that "allow for greater content and/or more complex interactions thus behaving much like an additional webpage while maintaining a contextual connection to the primary task" (Adobe Developer).
In the product-led growth space, the same visual pattern is used for non-intrusive in-app notifications. As of April 2026, tools like Appcues (starting at $249/month), Userpilot ($249/month), and Chameleon ($279/month) all include slideout as a core messaging format alongside modals, tooltips, and banners.
How a slideout works
A trigger fires: a button click, a user event, or a timed system event. The panel slides into view from one viewport edge, usually via a CSS transform: translateX() transition running at 200-300ms. A semi-transparent shade covers the parent content to signal that focus has shifted.
Six structural elements make up a slideout, per Adobe's pattern library: a content container with fixed width (typically 320-480px on desktop), a heading, a close control, action buttons, a scrollable content area, and a semi-transparent shade over the parent page. The visible strip of parent content is called the "alley," and clicking it dismisses the panel.
Slideouts can nest up to two sequential panels per task flow, each indenting progressively to the left. This is rare in practice but useful for drill-down workflows.
Slideout vs modal vs drawer vs toast
The industry uses these terms loosely. Here's how they differ.
| Attribute | Slideout | Modal | Drawer | Toast |
|---|---|---|---|---|
| Blocks parent content | Partially (shade) | Fully | Partially (shade) | Never |
| Interrupts workflow | Low | High | Low | Minimal |
| Content capacity | Forms, sub-workflows, rich content | Short confirmations, alerts | Navigation links, filters | One-line status (under 50 chars) |
| Dismiss behavior | Click alley, ESC, close button | ESC, close button | Click outside, ESC, close button | Auto-dismiss (3-5s timeout) |
| Typical ARIA role | dialog or complementary | alertdialog or dialog | navigation | status or alert |
| Best for | Sub-tasks, announcements, surveys | Destructive confirmations | Navigation menus, filter panels | Success/error feedback |
The key distinction: a modal demands attention. A slideout requests it. Toasts inform without asking for anything. UserGuiding describes slideouts as having "the vibe of a 'psst' message" (UserGuiding).
Then there's the naming problem. What Adobe calls a "slideout," Material UI calls a "drawer." PatternFly (Red Hat's design system, used by over 200 enterprise products) also uses "drawer." Creative Bloq notes that the industry uses "slideout," "drawer," "side panel," and "sliding pane" interchangeably with no agreed standard (Creative Bloq). The functional difference comes down to intent: slideouts appear for contextual sub-tasks or messages, while drawers hold navigation or filters.
Slideout examples
Miro uses a slideout to teach the Shift+drag shortcut. The panel slides in from the side, keeping the command visible while users practice it. UserOnboarding.Academy observed that "since it's off to the side, users can follow along without breaking focus" (UserOnboarding.Academy).
Appcues implements slideouts as one of their core flow types. Their documentation positions slideouts alongside modals, noting that slideouts handle scrollable content and multi-button layouts better than centered dialogs (Appcues Docs). SEB Group, a Nordic financial services company managing over $300B in assets, uses slideout modals across their enterprise design system for complex form workflows (SEB Design Library).
Why slideouts matter for onboarding
Modals interrupt. That's by design. But onboarding isn't the right moment for full-screen interruptions. A user exploring your app doesn't want their workflow blocked every 30 seconds by a centered dialog.
Slideouts sit in the peripheral attention zone. Userpilot's research on mobile slideouts recommends connecting them to application logic: "dynamically update content based on user behavior" and "avoid showing redundant messages to users who've completed actions" (Userpilot). That's fatigue prevention.
Three onboarding patterns where slideouts outperform modals:
- Feature announcements that appear while users work (not as a blocking popup)
- Contextual help panels that stay visible during multi-step instructions
- Micro-surveys (2-question NPS or CSAT) that collect feedback without derailing tasks
Slideout accessibility requirements
Slideouts require proper focus management, keyboard support, and ARIA semantics. Knowbility's research identifies the critical requirements for WCAG 2.1 AA compliance (Knowbility).
Focus must move to the first focusable element when the panel opens. Tab and Shift+Tab should cycle within the panel (focus trapping). When the panel closes, focus returns to the trigger element. The Escape key must close the panel.
// Trigger button
<button
aria-expanded={isOpen}
aria-controls="slideout-panel"
aria-label="Open feature announcement"
onClick={() => setIsOpen(true)}
>
What's new
</button>
// Slideout panel
<div
id="slideout-panel"
role="dialog"
aria-modal="true"
aria-label="Feature announcement"
>
{/* Panel content */}
</div>Use role="dialog" with aria-modal="true" for workflow-style slideouts that shade the background. For notification-style slideouts that don't block interaction, use role="complementary" with aria-live="polite" so screen readers announce without interrupting.
Slideouts in Tour Kit
Tour Kit's @tour-kit/announcements package includes slideout as one of five display variants (modal, toast, banner, slideout, and spotlight). The slideout variant ships at under 5KB gzipped. It handles animation, shade, focus trapping, and Escape-key dismissal.
// src/components/FeatureAnnouncement.tsx
import { Announcement } from '@tour-kit/announcements';
function FeatureAnnouncement() {
return (
<Announcement
id="new-export-feature"
display="slideout"
position="right"
frequency={{ type: 'once' }}
>
<Announcement.Content>
<h3>CSV export is here</h3>
<p>Export any dashboard view to CSV.</p>
<Announcement.Dismiss>Got it</Announcement.Dismiss>
</Announcement.Content>
</Announcement>
);
}Tour Kit is our project, so take this with appropriate context. The slideout pattern works in any UI library that supports panel overlays. Radix UI's Dialog can be styled as a slideout with a transform transition. shadcn/ui's Drawer component (built on Vaul, 4.2K GitHub stars) handles side-panel patterns too. The architectural approach matters more than the specific tool.
Get started with Tour Kit at usertourkit.com.
FAQ
What is the difference between a slideout and a modal?
A slideout slides in from the screen edge and partially covers parent content, leaving a visible "alley" for context. Modals center on screen and fully block the parent with an opaque backdrop. Slideouts are lower-interruption, better for announcements and sub-tasks. Modals suit destructive confirmations.
Is a slideout the same as a drawer?
Functionally, they're almost identical. Adobe and Appcues call it "slideout." Material UI and PatternFly call it "drawer." The distinction is intent: slideouts appear for contextual content or messages, drawers hold navigation or filtering UI. Both slide in from the screen edge and overlay content.
When should I use a slideout instead of a toast?
Use a slideout when you need the user to take action or read more than one sentence. Toasts auto-dismiss after 3-5 seconds with minimal content. Slideouts persist until dismissed, support rich content (forms, images, buttons), and can collect input.
Are slideouts accessible?
Yes, with explicit work. Move focus into the panel on open, trap focus within it, close on Escape, and return focus to the trigger on close. Knowbility confirms these as minimum WCAG 2.1 AA requirements (Knowbility).
Internal linking suggestions:
- Link from:
feature-announcement-banner-react.mdx(mentions slideout as an alternative to banners) - Link from:
whats-new-modal-react.mdx(slideout is an alternative to the modal pattern) - Link to:
what-is-headless-ui-guide-onboarding.mdx(headless architecture reference) - Link to: Tour Kit announcements docs at https://usertourkit.com/docs/announcements
Distribution checklist:
- Dev.to (canonical to usertourkit.com/blog/what-is-a-slideout)
- Hashnode
- Reddit r/webdev, r/reactjs (as a reference when someone asks "slideout vs drawer")
JSON-LD Schema:
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "What is a slideout? In-app messaging element explained",
"description": "Learn what a slideout is, how it differs from modals and drawers, and when to use slideout panels for in-app messaging and onboarding.",
"author": {
"@type": "Person",
"name": "Dominik Sumer",
"url": "https://usertourkit.com"
},
"publisher": {
"@type": "Organization",
"name": "Tour Kit",
"url": "https://usertourkit.com",
"logo": {
"@type": "ImageObject",
"url": "https://usertourkit.com/logo.png"
}
},
"datePublished": "2026-04-12",
"dateModified": "2026-04-12",
"image": "https://usertourkit.com/og-images/what-is-a-slideout.png",
"url": "https://usertourkit.com/blog/what-is-a-slideout",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://usertourkit.com/blog/what-is-a-slideout"
},
"keywords": ["what is a slideout", "slideout definition", "slideout vs modal", "slideout panel UX"],
"proficiencyLevel": "Beginner",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "TypeScript"
}
}Related articles

What is a hotspot? In-app guidance element explained
Learn what a hotspot is in onboarding UX. Covers definition, accessibility, code examples, and when to use hotspots vs tooltips in your React app.
Read article
What is a product tour? (definition, types, and examples)
Learn what a product tour is, how it works technically, and when to use each type. Covers tooltips, hotspots, modals, and walkthroughs with code examples.
Read article
What is a tooltip? (and when to use tooltips in product tours)
A developer's definition of tooltips covering ARIA patterns, WCAG 1.4.13, the four tooltip types, and how tooltips work inside product tours.
Read article
What is AGPL? Why license choice matters for open-source libraries
Learn what the AGPL license requires, how it differs from MIT, and why it matters when picking open-source JavaScript libraries. Includes real examples.
Read article