Fix aria-activedescendant attribute in suggestion dropdown (#235933)

fixes https://github.com/microsoft/monaco-editor/issues/3961
This commit is contained in:
Benjamin Christopher Simmonds
2024-12-12 12:47:13 +01:00
committed by GitHub
parent 8d21c9df9d
commit 1d3cd67ef4
2 changed files with 2 additions and 7 deletions
@@ -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);
}
@@ -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<CompletionItem, ISuggestionTe
data.configureFont();
const { completion } = element;
data.root.id = getAriaId(index);
data.colorspan.style.backgroundColor = '';
const labelOptions: IIconLabelValueOptions = {