diff --git a/packages/next/src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/draggable.tsx b/packages/next/src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/draggable.tsx
index 93a9e04681e7..c6667bb84e45 100644
--- a/packages/next/src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/draggable.tsx
+++ b/packages/next/src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/draggable.tsx
@@ -143,7 +143,12 @@ export function Draggable({
}
return (
-
+
{children}
)
diff --git a/test/development/app-dir/devtools-position/default-position.test.ts b/test/development/app-dir/devtools-position/default-position.test.ts
index 1a162d305d79..b47bc348cc91 100644
--- a/test/development/app-dir/devtools-position/default-position.test.ts
+++ b/test/development/app-dir/devtools-position/default-position.test.ts
@@ -12,4 +12,21 @@ describe('devtools-position-default', () => {
expect(style).toContain('bottom: 20px')
expect(style).toContain('left: 20px')
})
+
+ it('should disable browser touch gestures on the draggable indicator', async () => {
+ const browser = await next.browser('/')
+ await getDevIndicatorPosition(browser)
+
+ const touchAction = await browser.eval(() => {
+ const portal = Array.from(
+ document.querySelectorAll('nextjs-portal')
+ ).find((p) => p.shadowRoot?.querySelector('[data-nextjs-toast]'))
+ const indicator = portal?.shadowRoot?.querySelector('[data-nextjs-toast]')
+ const draggable = indicator?.firstElementChild
+
+ return draggable ? getComputedStyle(draggable).touchAction : null
+ })
+
+ expect(touchAction).toBe('none')
+ })
})