From ee1956e7e1a996c009fddc5d4b4f9de8db98d2b8 Mon Sep 17 00:00:00 2001 From: meganrogge Date: Sat, 20 May 2023 08:37:40 -0700 Subject: [PATCH 1/2] part of #180470 --- .../accessibility/browser/accessibilityContribution.ts | 9 ++++++++- .../contrib/notebook/browser/notebookEditorWidget.ts | 9 +++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts b/src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts index 5ea4c0c3168..12223220e69 100644 --- a/src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts +++ b/src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts @@ -11,7 +11,8 @@ export const enum AccessibilityVerbositySettingId { Terminal = 'accessibility.verbosity.terminal', DiffEditor = 'accessibility.verbosity.diff-editor', Chat = 'accessibility.verbosity.chat', - InteractiveEditor = 'accessibility.verbosity.interactiveEditor' + InteractiveEditor = 'accessibility.verbosity.interactiveEditor', + Notebook = 'accessibility.verbosity.notebook' } const configuration: IConfigurationNode = { @@ -42,6 +43,12 @@ const configuration: IConfigurationNode = { type: 'boolean', default: true, tags: ['accessibility'] + }, + [AccessibilityVerbositySettingId.Notebook]: { + description: localize('verbosity.notebook', 'Provide information about how to focus the cell container or inner editor when a notebook cell is focused.'), + type: 'boolean', + default: true, + tags: ['accessibility'] } } }; diff --git a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts b/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts index ef205149872..58d9d3e42f3 100644 --- a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts +++ b/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts @@ -91,6 +91,7 @@ import { INotebookLoggingService } from 'vs/workbench/contrib/notebook/common/no import { Schemas } from 'vs/base/common/network'; import { DropIntoEditorController } from 'vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController'; import { CopyPasteController } from 'vs/editor/contrib/dropOrPasteInto/browser/copyPasteController'; +import { AccessibilityVerbositySettingId } from 'vs/workbench/contrib/accessibility/browser/accessibilityContribution'; const $ = DOM.$; @@ -2229,18 +2230,18 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditorD private _cellFocusAria(cell: ICellViewModel, focusItem: 'editor' | 'container' | 'output') { const index = this._notebookViewModel?.getCellIndex(cell); - + const verboseLabel = this.configurationService.getValue(AccessibilityVerbositySettingId.Notebook); if (index !== undefined && index >= 0) { let position = ''; switch (focusItem) { case 'editor': - position = `the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor is focused, press escape to focus the cell container`; + position = `the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor is focused` + verboseLabel ? `, press escape to focus the cell container` : ''; break; case 'output': - position = `the cell output is focused, press escape to focus the cell container`; + position = `the cell output is focused` + verboseLabel ? `, press escape to focus the cell container` : ''; break; case 'container': - position = `the ${cell.cellKind === CellKind.Markup ? 'markdown preview' : 'cell container'} is focused, press enter to focus the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor`; + position = `the ${cell.cellKind === CellKind.Markup ? 'markdown preview' : 'cell container'} is focused` + verboseLabel ? `, press enter to focus the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor` : ''; break; default: break; From 1ce7ada996a0c969f6354207ecf1fbb6fca0607e Mon Sep 17 00:00:00 2001 From: rebornix Date: Fri, 26 May 2023 14:57:24 -0700 Subject: [PATCH 2/2] fix ? operator --- .../contrib/notebook/browser/notebookEditorWidget.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts b/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts index 58d9d3e42f3..5a317474b98 100644 --- a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts +++ b/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts @@ -2235,13 +2235,13 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditorD let position = ''; switch (focusItem) { case 'editor': - position = `the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor is focused` + verboseLabel ? `, press escape to focus the cell container` : ''; + position = `the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor is focused` + (verboseLabel ? `, press escape to focus the cell container` : ''); break; case 'output': - position = `the cell output is focused` + verboseLabel ? `, press escape to focus the cell container` : ''; + position = `the cell output is focused` + (verboseLabel ? `, press escape to focus the cell container` : ''); break; case 'container': - position = `the ${cell.cellKind === CellKind.Markup ? 'markdown preview' : 'cell container'} is focused` + verboseLabel ? `, press enter to focus the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor` : ''; + position = `the ${cell.cellKind === CellKind.Markup ? 'markdown preview' : 'cell container'} is focused` + (verboseLabel ? `, press enter to focus the inner ${cell.cellKind === CellKind.Markup ? 'markdown' : 'code'} editor` : ''); break; default: break;