Skip to content

Commit 3d0c91a

Browse files
authored
Merge pull request #240 from rebeccaalpert/a11y-221
fix(ChatbotHeaderSelectorDropdown): Aria label should include current value
2 parents b72fad5 + 1777ec0 commit 3d0c91a

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

packages/module/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx

+8-3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ export interface ChatbotHeaderSelectorDropdownProps extends Omit<DropdownProps,
1313
tooltipProps?: TooltipProps;
1414
/** Aria label for menu toggle */
1515
menuToggleAriaLabel?: string;
16+
/** Text displayed in Tooltip wrapping the display mode dropdown */
17+
tooltipContent?: string;
1618
}
1719

1820
export const ChatbotHeaderSelectorDropdown: React.FunctionComponent<ChatbotHeaderSelectorDropdownProps> = ({
@@ -21,16 +23,18 @@ export const ChatbotHeaderSelectorDropdown: React.FunctionComponent<ChatbotHeade
2123
children,
2224
onSelect,
2325
tooltipProps,
24-
menuToggleAriaLabel = 'Chatbot selector',
26+
tooltipContent = 'Chatbot selector',
27+
menuToggleAriaLabel,
2528
...props
2629
}: ChatbotHeaderSelectorDropdownProps) => {
2730
const [isOptionsMenuOpen, setIsOptionsMenuOpen] = React.useState(false);
31+
const [defaultAriaLabel, setDefaultAriaLabel] = React.useState('Chatbot selector');
2832

2933
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
30-
<Tooltip className="pf-chatbot__tooltip" content="Chatbot selector" position="bottom" {...tooltipProps}>
34+
<Tooltip className="pf-chatbot__tooltip" content={tooltipContent} position="bottom" {...tooltipProps}>
3135
<MenuToggle
3236
variant="secondary"
33-
aria-label={menuToggleAriaLabel}
37+
aria-label={menuToggleAriaLabel ?? defaultAriaLabel}
3438
ref={toggleRef}
3539
isExpanded={isOptionsMenuOpen}
3640
onClick={() => setIsOptionsMenuOpen(!isOptionsMenuOpen)}
@@ -46,6 +50,7 @@ export const ChatbotHeaderSelectorDropdown: React.FunctionComponent<ChatbotHeade
4650
isOpen={isOptionsMenuOpen}
4751
onSelect={(e, value) => {
4852
onSelect && onSelect(e, value);
53+
setDefaultAriaLabel(`Chatbot selector: ${value}`);
4954
setIsOptionsMenuOpen(false);
5055
}}
5156
onOpenChange={(isOpen) => setIsOptionsMenuOpen(isOpen)}

0 commit comments

Comments
 (0)