Skip to content

Commit 4c5c07f

Browse files
committed
fix(clerk-js): Add aria-label and aria-expanded in menu trigger
1 parent 9a3d4f9 commit 4c5c07f

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

.changeset/tall-fans-flow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/clerk-js': patch
3+
---
4+
5+
Add `aria-label` and `aria-expanded` in menu trigger to improve accessibility

packages/clerk-js/src/ui/elements/Menu.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ type MenuTriggerProps = React.PropsWithChildren<Record<never, never>>;
4949
export const MenuTrigger = (props: MenuTriggerProps) => {
5050
const { children } = props;
5151
const { popoverCtx, elementId } = useMenuState();
52-
const { reference, toggle } = popoverCtx;
52+
const { reference, toggle, isOpen } = popoverCtx;
5353

5454
if (!isValidElement(children)) {
5555
return null;
@@ -60,6 +60,8 @@ export const MenuTrigger = (props: MenuTriggerProps) => {
6060
ref: reference,
6161
elementDescriptor: children.props.elementDescriptor || descriptors.menuButton,
6262
elementId: children.props.elementId || descriptors.menuButton.setId(elementId),
63+
'aria-label': `${isOpen ? 'Close' : 'Open'} menu`,
64+
'aria-expanded': isOpen,
6365
onClick: (e: React.MouseEvent) => {
6466
children.props?.onClick?.(e);
6567
toggle();

0 commit comments

Comments
 (0)