Skip to content

Commit 7eb6bf4

Browse files
committed
Address further review comments
1 parent 081b895 commit 7eb6bf4

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/components/content-presentation/notification-banner/NotificationBanner.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const NotificationBannerComponent = forwardRef<HTMLDivElement, NotificationBanne
4747
className: 'nhsuk-notification-banner__title',
4848
}),
4949
);
50+
const titleElementId = titleElement?.props.id || titleId || 'nhsuk-notification-banner-title';
5051

5152
const contentItems = items.filter((child) => child !== titleElement);
5253

@@ -61,7 +62,7 @@ const NotificationBannerComponent = forwardRef<HTMLDivElement, NotificationBanne
6162
{ 'nhsuk-notification-banner--success': success },
6263
className,
6364
)}
64-
aria-labelledby={titleId || titleElement?.props.id || 'nhsuk-notification-banner-title'}
65+
aria-labelledby={titleElementId}
6566
data-module="nhsuk-notification-banner"
6667
data-disable-auto-focus={disableAutoFocus}
6768
ref={moduleRef}
@@ -72,7 +73,7 @@ const NotificationBannerComponent = forwardRef<HTMLDivElement, NotificationBanne
7273
{titleElement ? (
7374
<>{titleElement}</>
7475
) : (
75-
<NotificationBannerTitle success={success} id={titleId}>
76+
<NotificationBannerTitle success={success} id={titleElementId}>
7677
{title}
7778
</NotificationBannerTitle>
7879
)}

src/components/content-presentation/notification-banner/__tests__/NotificationBanner.test.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,4 +387,20 @@ describe('NotificationBanner', () => {
387387

388388
expect(notificationBannerEl?.dataset?.disableAutoFocus).toBe('true');
389389
});
390+
391+
it('prioritises id of title element over provided title id', async () => {
392+
const { modules } = await renderClient(
393+
<NotificationBanner titleId={'wrong-id'}>
394+
<NotificationBanner.Title id={'correct-id'}>Important information</NotificationBanner.Title>
395+
<NotificationBanner.Heading>
396+
The service will be unavailable from 8pm to 9pm on Thursday 1 January 2025.
397+
</NotificationBanner.Heading>
398+
</NotificationBanner>,
399+
{ className: 'nhsuk-notification-banner' },
400+
);
401+
402+
const [notificationBannerEl] = modules;
403+
404+
expect(notificationBannerEl?.getAttribute('aria-labelledby')).toEqual('correct-id');
405+
});
390406
});

0 commit comments

Comments
 (0)