From 4037817f760ba9b69caba325b9b4c6695e341fbe Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 2 Feb 2024 10:16:46 +0100 Subject: [PATCH] fix(material/tabs): prevent page scroll on space press This appears to be a regression from #27862 where the `preventDefault` was removed both from space and enter presses. We still need it on space so that the page doesn't scroll. Fixes #28392. --- src/material/tabs/tab-nav-bar/tab-nav-bar.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/material/tabs/tab-nav-bar/tab-nav-bar.ts b/src/material/tabs/tab-nav-bar/tab-nav-bar.ts index 9ffc5769e2d2..2bf7c694a261 100644 --- a/src/material/tabs/tab-nav-bar/tab-nav-bar.ts +++ b/src/material/tabs/tab-nav-bar/tab-nav-bar.ts @@ -372,6 +372,12 @@ export class MatTabLink if (this.disabled) { event.preventDefault(); } else if (this._tabNavBar.tabPanel) { + // Only prevent the default action on space since it can scroll the page. + // Don't prevent enter since it can break link navigation. + if (event.keyCode === SPACE) { + event.preventDefault(); + } + this.elementRef.nativeElement.click(); } }