From 1d3cd67ef43a4aebd2330ebd57cfd9e8f6745fa0 Mon Sep 17 00:00:00 2001 From: Benjamin Christopher Simmonds <44439583+benibenj@users.noreply.github.com> Date: Thu, 12 Dec 2024 12:47:13 +0100 Subject: [PATCH] Fix aria-activedescendant attribute in suggestion dropdown (#235933) fixes https://github.com/microsoft/monaco-editor/issues/3961 --- src/vs/editor/contrib/suggest/browser/suggestWidget.ts | 4 ++-- .../editor/contrib/suggest/browser/suggestWidgetRenderer.ts | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts index 048572143b1..e1bf843a994 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts @@ -32,7 +32,7 @@ import { CompletionModel } from './completionModel.js'; import { ResizableHTMLElement } from '../../../../base/browser/ui/resizable/resizable.js'; import { CompletionItem, Context as SuggestContext, suggestWidgetStatusbarMenu } from './suggest.js'; import { canExpandCompletionItem, SuggestDetailsOverlay, SuggestDetailsWidget } from './suggestWidgetDetails.js'; -import { getAriaId, ItemRenderer } from './suggestWidgetRenderer.js'; +import { ItemRenderer } from './suggestWidgetRenderer.js'; import { getListStyles } from '../../../../platform/theme/browser/defaultStyles.js'; import { status } from '../../../../base/browser/ui/aria/aria.js'; @@ -434,7 +434,7 @@ export class SuggestWidget implements IDisposable { this.element.domNode.classList.remove('docs-side'); } - this.editor.setAriaOptions({ activeDescendant: getAriaId(index) }); + this.editor.setAriaOptions({ activeDescendant: this._list.getElementID(index) }); }).catch(onUnexpectedError); } diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts b/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts index 24fb6d3106f..3d0850da13b 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts @@ -25,10 +25,6 @@ import { IThemeService } from '../../../../platform/theme/common/themeService.js import { CompletionItem } from './suggest.js'; import { canExpandCompletionItem } from './suggestWidgetDetails.js'; -export function getAriaId(index: number): string { - return `suggest-aria-id:${index}`; -} - const suggestMoreInfoIcon = registerIcon('suggest-more-info', Codicon.chevronRight, nls.localize('suggestMoreInfoIcon', 'Icon for more information in the suggest widget.')); const _completionItemColor = new class ColorExtractor { @@ -167,7 +163,6 @@ export class ItemRenderer implements IListRenderer