diff --git a/packages/cookie-banner/src/components/banner.ts b/packages/cookie-banner/src/components/banner.ts index 4f33dc76f..335200d86 100644 --- a/packages/cookie-banner/src/components/banner.ts +++ b/packages/cookie-banner/src/components/banner.ts @@ -25,9 +25,9 @@ const REQUIRED_BUTTONS = [ export class ProboBanner extends ProboElement { private root: ProboRootElement | null = null; private onStateChange = (e: Event): void => { - const { state } = (e as CustomEvent).detail; + const { state, prev } = (e as CustomEvent).detail; this.hidden = state !== "banner"; - if (state === "banner") { + if (state === "banner" && prev !== "loading") { this.focusFirst(); } }; diff --git a/packages/cookie-banner/src/components/base.ts b/packages/cookie-banner/src/components/base.ts index bdfbc194e..e84072eeb 100644 --- a/packages/cookie-banner/src/components/base.ts +++ b/packages/cookie-banner/src/components/base.ts @@ -26,7 +26,7 @@ export class ProboElement extends HTMLElement { protected focusFirst(): void { requestAnimationFrame(() => { const el = this.querySelector(FOCUSABLE); - el?.focus(); + el?.focus({ preventScroll: true }); }); }