diff --git a/src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts b/src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts index 7309bc45986c1..9b0c7c759113e 100644 --- a/src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts +++ b/src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts @@ -19,7 +19,7 @@ import { appendUpdateMenuItems as registerUpdateMenuItems } from '../../../../wo import { Menus } from '../../../browser/menus.js'; import { IActionViewItemService } from '../../../../platform/actions/browser/actionViewItemService.js'; import { fillInActionBarActions } from '../../../../platform/actions/browser/menuEntryActionViewItem.js'; -import { $, append, disposableWindowInterval, getDomNodePagePosition } from '../../../../base/browser/dom.js'; +import { $, addDisposableListener, append, disposableWindowInterval, EventType, getDomNodePagePosition } from '../../../../base/browser/dom.js'; import { mainWindow } from '../../../../base/browser/window.js'; import { ActionBar, ActionsOrientation } from '../../../../base/browser/ui/actionbar/actionbar.js'; import { BaseActionViewItem, IBaseActionViewItemOptions } from '../../../../base/browser/ui/actionbar/actionViewItems.js'; @@ -205,6 +205,13 @@ class TitleBarAccountWidget extends BaseActionViewItem { container.classList.add('sessions-account-titlebar-widget'); container.setAttribute('role', 'button'); container.tabIndex = 0; + this._register(addDisposableListener(container, EventType.KEY_DOWN, (event: KeyboardEvent) => { + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault(); + event.stopPropagation(); + this.showCombinedPanel(); + } + })); this.avatarElement = append(container, $('img.sessions-account-titlebar-widget-avatar', { alt: localize('accountAvatarAltFallback', "Account profile image"), draggable: 'false' })) as HTMLImageElement; this.avatarElement.decoding = 'async'; @@ -267,6 +274,7 @@ class TitleBarAccountWidget extends BaseActionViewItem { this.container.classList.add(`kind-${state.kind}`); this.container.classList.toggle('menu-visible', this.isMenuVisible); this.container.setAttribute('aria-label', state.ariaLabel); + this.container.setAttribute('aria-expanded', String(this.isMenuVisible)); const badgeKey = getAccountTitleBarBadgeKey(state); if (badgeKey !== this.lastBadgeKey) {