Skip to content

Commit 3253ff9

Browse files
authored
Merge pull request #14308 from guardian/jm/feat-focus-designable-banner-when-visible
feat: add focus management for interactive choice cards in DesignableBanner
2 parents 52278ca + a2bc1d7 commit 3253ff9

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

dotcom-rendering/src/components/marketing/banners/designableBanner/DesignableBanner.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import type {
2323
Image,
2424
} from '@guardian/support-dotcom-components/dist/shared/types';
2525
import type { ChoiceCard } from '@guardian/support-dotcom-components/dist/shared/types/props/choiceCards';
26-
import { useEffect, useState } from 'react';
26+
import { useEffect, useRef, useState } from 'react';
2727
import {
2828
removeMediaRulePrefix,
2929
useMatchMedia,
@@ -137,6 +137,14 @@ const DesignableBanner: ReactComponent<BannerRenderProps> = ({
137137
);
138138
}, []);
139139

140+
const bannerRef = useRef<HTMLDivElement>(null);
141+
142+
useEffect(() => {
143+
if (bannerRef.current) {
144+
bannerRef.current.focus();
145+
}
146+
}, []);
147+
140148
useEffect(() => {
141149
if (iosAppBannerPresent) {
142150
// send ophan event
@@ -275,6 +283,9 @@ const DesignableBanner: ReactComponent<BannerRenderProps> = ({
275283

276284
return (
277285
<div
286+
ref={bannerRef}
287+
role="alert"
288+
tabIndex={-1}
278289
css={styles.outerContainer(
279290
templateSettings.containerSettings.backgroundColour,
280291
iosAppBannerPresent,

0 commit comments

Comments
 (0)