diff --git a/src/DropdownToggle.tsx b/src/DropdownToggle.tsx index 035a844..b8b81b5 100644 --- a/src/DropdownToggle.tsx +++ b/src/DropdownToggle.tsx @@ -10,7 +10,7 @@ export interface UseDropdownToggleProps { id: string; ref: DropdownContextValue['setToggle']; onClick: React.MouseEventHandler; - 'aria-expanded': boolean; + 'aria-expanded'?: boolean | null; 'aria-haspopup'?: true; } @@ -49,7 +49,6 @@ export function useDropdownToggle(): [ id, ref: setToggle || noop, onClick: handleClick, - 'aria-expanded': !!show, }; // This is maybe better down in an effect, but @@ -57,6 +56,9 @@ export function useDropdownToggle(): [ // is set so might return new props. if (menuElement && isRoleMenu(menuElement)) { props['aria-haspopup'] = true; + props['aria-expanded'] = show || null; + } else { + props['aria-expanded'] = !!show; } return [props, { show, toggle }];