import * as React from 'react'; import { IContextualMenuItem, IContextualMenuProps } from '@fluentui/react/lib/ContextualMenu'; import { DefaultButton } from '@fluentui/react/lib/Button'; import { useConst } from '@fluentui/react-hooks'; export const ContextualMenuScreenReaderExample: React.FunctionComponent = () => { const menuItems: IContextualMenuItem[] = [ { key: 'newItem', subMenuProps: { items: [ { key: 'emailMessage', text: 'Email message', ariaDescription: 'Emails are fun' }, { key: 'calendarEvent', text: 'Calendar event', ariaDescription: 'Calendar events are even more fun', }, ], }, href: 'https://bing.com', text: 'New', target: '_blank', ariaLabel: 'New. Press enter or right arrow keys to open submenu.', ariaDescription: 'Additional information about new item', }, { key: 'share', subMenuProps: { items: [ { key: 'sharetotwitter', text: 'Share to Twitter' }, { key: 'sharetofacebook', text: 'Share to Facebook' }, { key: 'sharetoemail', text: 'Share to Email', subMenuProps: { items: [ { key: 'sharetooutlook_1', text: 'Share to Outlook', title: 'Share to Outlook' }, { key: 'sharetogmail_1', text: 'Share to Gmail', title: 'Share to Gmail' }, ], }, }, ], }, text: 'Share', ariaLabel: 'Share. Press enter, space or right arrow keys to open submenu.', ariaDescription: 'Additional information about share item', }, { key: 'shareSplit', split: true, 'aria-roledescription': 'split button', subMenuProps: { items: [ { key: 'sharetotwittersplit', text: 'Share to Twitter' }, { key: 'sharetofacebooksplit', text: 'Share to Facebook' }, { key: 'sharetoemailsplit', text: 'Share to Email', subMenuProps: { items: [ { key: 'sharetooutlooksplit_1', text: 'Share to Outlook', title: 'Share to Outlook' }, { key: 'sharetogmailsplit_1', text: 'Share to Gmail', title: 'Share to Gmail' }, ], }, }, ], }, text: 'Share w/ Split', ariaLabel: 'Share w/ Split. Press enter or space keys to trigger action. Press right arrow key to open submenu.', ariaDescription: 'Additional information about share split item', }, ]; const menuProps = useConst(() => ({ items: menuItems, })); return ; };