Skip to content

Commit 651e68a

Browse files
committed
Use uniq ids in header
1 parent 9e7e30e commit 651e68a

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/Header/Header.tsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ export const Header = memo(
9797
assert<Equals<keyof typeof rest, never>>();
9898

9999
const menuButtonId = `button-${useId()}`;
100-
const modalId = `modal-${useId()}`;
100+
const menuModalId = `modal-${useId()}`;
101+
const searchModalId = `modal-${useId()}`;
102+
const searchInputId = `search-${useId()}-input`;
101103

102104
const { t } = useTranslation();
103105

@@ -145,7 +147,7 @@ export const Header = memo(
145147
<button
146148
className={fr.cx("fr-btn--menu", "fr-btn")}
147149
data-fr-opened="false"
148-
aria-controls={modalId}
150+
aria-controls={menuModalId}
149151
aria-haspopup="menu"
150152
id={menuButtonId}
151153
title="Menu"
@@ -225,7 +227,7 @@ export const Header = memo(
225227
{renderSearchInput !== undefined && (
226228
<div
227229
className={fr.cx("fr-header__search", "fr-modal")}
228-
id="modal-474"
230+
id={searchModalId}
229231
>
230232
<div
231233
className={fr.cx(
@@ -235,26 +237,25 @@ export const Header = memo(
235237
>
236238
<button
237239
className={fr.cx("fr-btn--close", "fr-btn")}
238-
aria-controls="modal-474"
240+
aria-controls={searchModalId}
239241
title={t("close")}
240242
>
241243
{t("close")}
242244
</button>
243245
<div
244246
className={fr.cx("fr-search-bar")}
245-
id="search-473"
246247
role="search"
247248
>
248249
<label
249250
className={fr.cx("fr-label")}
250-
htmlFor="search-473-input"
251+
htmlFor={searchInputId}
251252
>
252253
{t("search")}
253254
</label>
254255
{renderSearchInput({
255256
"className": fr.cx("fr-input"),
256-
"id": "search-473-input",
257-
"name": "search-473-input",
257+
"id": searchInputId,
258+
"name": searchInputId,
258259
"placeholder": t("search"),
259260
"type": "search"
260261
})}
@@ -276,13 +277,13 @@ export const Header = memo(
276277
{mainNavigationProps !== undefined && (
277278
<div
278279
className={cx(fr.cx("fr-header__menu", "fr-modal"), classes.menu)}
279-
id={modalId}
280+
id={menuModalId}
280281
aria-labelledby={menuButtonId}
281282
>
282283
<div className={fr.cx("fr-container")}>
283284
<button
284285
className={fr.cx("fr-btn--close", "fr-btn")}
285-
aria-controls={modalId}
286+
aria-controls={menuModalId}
286287
title={t("close")}
287288
>
288289
{t("close")}

0 commit comments

Comments
 (0)