From fa43e2665071eab0c38f41164978d7d328ac1da5 Mon Sep 17 00:00:00 2001 From: Amir Omidi Date: Thu, 26 Mar 2020 17:52:13 -0700 Subject: [PATCH] Fix a11y issue (#9733) --- src/vs/workbench/api/browser/mainThreadQuickOpen.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/vs/workbench/api/browser/mainThreadQuickOpen.ts b/src/vs/workbench/api/browser/mainThreadQuickOpen.ts index c08085958a..e600d60696 100644 --- a/src/vs/workbench/api/browser/mainThreadQuickOpen.ts +++ b/src/vs/workbench/api/browser/mainThreadQuickOpen.ts @@ -37,6 +37,15 @@ export class MainThreadQuickOpen implements MainThreadQuickOpenShape { } $show(instance: number, options: IPickOptions, token: CancellationToken): Promise { + // {{ SQL CARBON EDIT }} Fix a11y issue https://github.com/microsoft/azuredatastudio/issues/9232 + const activeElement = document.activeElement as HTMLElement; + const focusBackToStartingPosition = () => { + try { + activeElement?.focus(); + } catch { } + }; + // {{ SQL CARBON EDIT }} Fix a11y issue https://github.com/microsoft/azuredatastudio/issues/9232 + const contents = new Promise((resolve, reject) => { this._items[instance] = { resolve, reject }; }); @@ -52,6 +61,7 @@ export class MainThreadQuickOpen implements MainThreadQuickOpenShape { if (options.canPickMany) { return this._quickInputService.pick(contents, options as { canPickMany: true }, token).then(items => { + focusBackToStartingPosition(); // {{ SQL CARBON EDIT }} Fix a11y issue https://github.com/microsoft/azuredatastudio/issues/9232 if (items) { return items.map(item => item.handle); } @@ -59,6 +69,7 @@ export class MainThreadQuickOpen implements MainThreadQuickOpenShape { }); } else { return this._quickInputService.pick(contents, options, token).then(item => { + focusBackToStartingPosition(); // {{ SQL CARBON EDIT }} Fix a11y issue https://github.com/microsoft/azuredatastudio/issues/9232 if (item) { return item.handle; }