From d8cc1d33d0970b0b0cba3420429075cc172d2282 Mon Sep 17 00:00:00 2001 From: Alexandru Dima Date: Fri, 21 Apr 2023 08:48:16 +0200 Subject: [PATCH] Revert "add accessibility verbosity settings for terminal and diff editor aria hints" --- build/lib/i18n.resources.json | 4 --- .../editor/browser/widget/diffEditorWidget.ts | 24 +++----------- .../widget/embeddedCodeEditorWidget.ts | 4 +-- .../browser/standaloneCodeEditor.ts | 8 ++--- .../common/configurationRegistry.ts | 1 + .../browser/accessibility.contribution.ts | 8 ----- .../browser/accessibilityContribution.ts | 33 ------------------- .../terminal/browser/terminalInstance.ts | 5 +-- src/vs/workbench/workbench.common.main.ts | 3 -- 9 files changed, 11 insertions(+), 79 deletions(-) delete mode 100644 src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.ts delete mode 100644 src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts diff --git a/build/lib/i18n.resources.json b/build/lib/i18n.resources.json index e49ba1d777860..b5ce6c6eabc7f 100644 --- a/build/lib/i18n.resources.json +++ b/build/lib/i18n.resources.json @@ -513,10 +513,6 @@ { "name": "vs/workbench/services/localization", "project": "vscode-workbench" - }, - { - "name": "vs/workbench/contrib/accessibility", - "project": "vscode-workbench" } ] } diff --git a/src/vs/editor/browser/widget/diffEditorWidget.ts b/src/vs/editor/browser/widget/diffEditorWidget.ts index b7af22029c24d..9efe95bcb584f 100644 --- a/src/vs/editor/browser/widget/diffEditorWidget.ts +++ b/src/vs/editor/browser/widget/diffEditorWidget.ts @@ -58,7 +58,6 @@ import { defaultInsertColor, defaultRemoveColor, diffDiagonalFill, diffInserted, import { registerIcon } from 'vs/platform/theme/common/iconRegistry'; import { getThemeTypeSelector, IColorTheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { ThemeIcon } from 'vs/base/common/themables'; -import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; export interface IDiffCodeEditorWidgetOptions { originalEditor?: ICodeEditorWidgetOptions; @@ -250,16 +249,11 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE @IThemeService themeService: IThemeService, @INotificationService notificationService: INotificationService, @IContextMenuService contextMenuService: IContextMenuService, - @IEditorProgressService private readonly _editorProgressService: IEditorProgressService, - @IConfigurationService private readonly _configurationService: IConfigurationService + @IEditorProgressService private readonly _editorProgressService: IEditorProgressService ) { super(); codeEditorService.willCreateDiffEditor(); - this._register(this._configurationService.onDidChangeConfiguration(e => { - if (e.affectsConfiguration('accessibility.verbosity.diff-editor')) { - this.updateOptions(this._options); - } - })); + this._documentDiffProvider = this._register(instantiationService.createInstance(WorkerBasedDocumentDiffProvider, options)); this._register(this._documentDiffProvider.onDidChange(e => this._beginUpdateDecorationsSoon())); @@ -1278,7 +1272,7 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE if (options.originalAriaLabel) { result.ariaLabel = options.originalAriaLabel; } - this._updateAriaLabel(result); + result.ariaLabel += ariaNavigationTip; result.readOnly = !this._options.originalEditable; result.dropIntoEditor = { enabled: !result.readOnly }; result.extraEditorClassName = 'original-in-monaco-diff-editor'; @@ -1291,22 +1285,12 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE }; } - private _updateAriaLabel(options: IEditorConstructionOptions): void { - let ariaLabel = options.ariaLabel; - if (this._configurationService.getValue('accessibility.verbosity.diff-editor')) { - ariaLabel += ariaNavigationTip; - } else if (ariaLabel) { - ariaLabel = ariaLabel.replaceAll(ariaNavigationTip, ''); - } - options.ariaLabel = ariaLabel; - } - private _adjustOptionsForRightHandSide(options: Readonly): IEditorConstructionOptions { const result = this._adjustOptionsForSubEditor(options); if (options.modifiedAriaLabel) { result.ariaLabel = options.modifiedAriaLabel; } - this._updateAriaLabel(result); + result.ariaLabel += ariaNavigationTip; result.wordWrapOverride1 = this._options.diffWordWrap; result.revealHorizontalRightPadding = EditorOptions.revealHorizontalRightPadding.defaultValue + DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH; result.scrollbar!.verticalHasArrows = false; diff --git a/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts b/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts index f7b27fa11f4ac..553470a8494bc 100644 --- a/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts +++ b/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts @@ -20,7 +20,6 @@ import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService import { IEditorProgressService } from 'vs/platform/progress/common/progress'; import { ILanguageConfigurationService } from 'vs/editor/common/languages/languageConfigurationRegistry'; import { ILanguageFeaturesService } from 'vs/editor/common/services/languageFeatures'; -import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; export class EmbeddedCodeEditorWidget extends CodeEditorWidget { @@ -86,9 +85,8 @@ export class EmbeddedDiffEditorWidget extends DiffEditorWidget { @IContextMenuService contextMenuService: IContextMenuService, @IClipboardService clipboardService: IClipboardService, @IEditorProgressService editorProgressService: IEditorProgressService, - @IConfigurationService configurationService: IConfigurationService ) { - super(domElement, parentEditor.getRawOptions(), codeEditorWidgetOptions, clipboardService, contextKeyService, instantiationService, codeEditorService, themeService, notificationService, contextMenuService, editorProgressService, configurationService); + super(domElement, parentEditor.getRawOptions(), codeEditorWidgetOptions, clipboardService, contextKeyService, instantiationService, codeEditorService, themeService, notificationService, contextMenuService, editorProgressService); this._parentEditor = parentEditor; this._overwriteOptions = options; diff --git a/src/vs/editor/standalone/browser/standaloneCodeEditor.ts b/src/vs/editor/standalone/browser/standaloneCodeEditor.ts index 2789c2fa883c2..d5664fcb738a0 100644 --- a/src/vs/editor/standalone/browser/standaloneCodeEditor.ts +++ b/src/vs/editor/standalone/browser/standaloneCodeEditor.ts @@ -481,7 +481,7 @@ export class StandaloneEditor extends StandaloneCodeEditor implements IStandalon export class StandaloneDiffEditor extends DiffEditorWidget implements IStandaloneDiffEditor { - private readonly _updatedConfigurationService: IConfigurationService; + private readonly _configurationService: IConfigurationService; private readonly _standaloneThemeService: IStandaloneThemeService; constructor( @@ -507,9 +507,9 @@ export class StandaloneDiffEditor extends DiffEditorWidget implements IStandalon themeService.setAutoDetectHighContrast(Boolean(options.autoDetectHighContrast)); } - super(domElement, options, {}, clipboardService, contextKeyService, instantiationService, codeEditorService, themeService, notificationService, contextMenuService, editorProgressService, configurationService); + super(domElement, options, {}, clipboardService, contextKeyService, instantiationService, codeEditorService, themeService, notificationService, contextMenuService, editorProgressService); - this._updatedConfigurationService = configurationService; + this._configurationService = configurationService; this._standaloneThemeService = themeService; this._register(themeDomRegistration); @@ -520,7 +520,7 @@ export class StandaloneDiffEditor extends DiffEditorWidget implements IStandalon } public override updateOptions(newOptions: Readonly): void { - updateConfigurationService(this._updatedConfigurationService, newOptions, true); + updateConfigurationService(this._configurationService, newOptions, true); if (typeof newOptions.theme === 'string') { this._standaloneThemeService.setTheme(newOptions.theme); } diff --git a/src/vs/platform/configuration/common/configurationRegistry.ts b/src/vs/platform/configuration/common/configurationRegistry.ts index c619b7a9edcaf..ed8e56d50c5a9 100644 --- a/src/vs/platform/configuration/common/configurationRegistry.ts +++ b/src/vs/platform/configuration/common/configurationRegistry.ts @@ -463,6 +463,7 @@ class ConfigurationRegistry implements IConfigurationRegistry { } private doRegisterConfigurations(configurations: IConfigurationNode[], validate: boolean, bucket: Set): void { + configurations.forEach(configuration => { this.validateAndRegisterProperties(configuration, validate, configuration.extensionInfo, configuration.restrictedProperties, undefined, bucket); diff --git a/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.ts b/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.ts deleted file mode 100644 index 0338c18d5183e..0000000000000 --- a/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.ts +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { registerAccessibilityConfiguration } from 'vs/workbench/contrib/accessibility/browser/accessibilityContribution'; - -registerAccessibilityConfiguration(); diff --git a/src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts b/src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts deleted file mode 100644 index 6f63998ec5c98..0000000000000 --- a/src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts +++ /dev/null @@ -1,33 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { localize } from 'vs/nls'; -import { Extensions, IConfigurationNode, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry'; -import { Registry } from 'vs/platform/registry/common/platform'; - -const configuration: IConfigurationNode = { - id: 'accessibility', - title: localize('accessibilityConfigurationTitle', "Accessibility"), - type: 'object', - properties: { - 'accessibility.verbosity.terminal': { - description: localize('verbosity.terminal.description', 'Provide information about how to access the terminal accessibility help menu when the terminal is focused'), - type: 'boolean', - default: true, - tags: ['accessibility'] - }, - 'accessibility.verbosity.diff-editor': { - description: localize('verbosity.diff-editor.description', 'Provide information about how to navigate changes in the diff editor when it is focused'), - type: 'boolean', - default: true, - tags: ['accessibility'] - } - } -}; - -export function registerAccessibilityConfiguration() { - const configurationRegistry = Registry.as(Extensions.Configuration); - configurationRegistry.registerConfiguration(configuration); -} diff --git a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts index e948dc576793b..06b11d86c131a 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts @@ -524,9 +524,6 @@ export class TerminalInstance extends Disposable implements ITerminalInstance { }); this._register(this._configurationService.onDidChangeConfiguration(async e => { - if (e.affectsConfiguration('accessibility.verbosity.terminal')) { - this._setAriaLabel(this.xterm?.raw, this._instanceId, this.title); - } if (e.affectsConfiguration('terminal.integrated')) { this.updateConfig(); this.setVisible(this._isVisible); @@ -1945,7 +1942,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance { labelParts.push(nls.localize('terminalScreenReaderMode', "Run the command: Toggle Screen Reader Accessibility Mode for an optimized screen reader experience")); } const accessibilityHelpKeybinding = this._keybindingService.lookupKeybinding(TerminalCommandId.ShowTerminalAccessibilityHelp)?.getLabel(); - if (this._configurationService.getValue('accessibility.verbosity.terminal') && accessibilityHelpKeybinding) { + if (accessibilityHelpKeybinding) { labelParts.push(nls.localize('terminalHelpAriaLabel', "Use {0} for terminal accessibility help", accessibilityHelpKeybinding)); } xterm.textarea.setAttribute('aria-label', labelParts.join('\n')); diff --git a/src/vs/workbench/workbench.common.main.ts b/src/vs/workbench/workbench.common.main.ts index 2aa3bf24396ea..c010c73133d58 100644 --- a/src/vs/workbench/workbench.common.main.ts +++ b/src/vs/workbench/workbench.common.main.ts @@ -362,7 +362,4 @@ import 'vs/workbench/contrib/deprecatedExtensionMigrator/browser/deprecatedExten // Bracket Pair Colorizer 2 Telemetry import 'vs/workbench/contrib/bracketPairColorizer2Telemetry/browser/bracketPairColorizer2Telemetry.contribution'; -// Accessibility -import 'vs/workbench/contrib/accessibility/browser/accessibility.contribution'; - //#endregion