VS Code Accessibility Cheat Sheet
Sidebar
Programming ยท VS Code Accessibility Cheat Sheet
Settings and shortcuts that make VS Code easier to see, hear and use by keyboard: screen reader support, sounds and announcements, zoom and contrast, and more. Useful whether or not you use assistive technology, for example audio cues or a calmer, larger display. Sheet 15 in the VS Code series.
Screen Readers & Help
editor.accessibilitySupportauto (default: detect a screen reader), on (always optimise for one), offAlt+F1Open Accessibility Help for whatever has focus: lists the shortcuts and settings that apply thereAlt+F2Open the Accessible View: the current output as plain text you can read line by lineCtrl+MToggle whether Tab moves focus out of the editor (Ctrl+Shift+M on macOS)F8 / Shift+F8Go to the next / previous problemaccessibility.accessibleView.closeOnKeyPressClose the Accessible View when you press a key (default true)accessibility.hideAccessibleViewHide the Accessible View's own on-screen panel (default false)accessibility.windowTitleOptimizedShorter window titles that are quicker to read aloud (default true)accessibility.debugWatchVariableAnnouncementsAnnounce changes to watched variables while debugging (default true)Verbosity Hints (accessibility.verbosity.*)
accessibility.verbosity.areaEach is true by default: a screen reader says how to open Accessibility Help when you enter that areaAreasterminal, find, hover, notification, diffEditor, debug, comments, sourceControl, notebook, replEditor, keybindingsEditor, walkthrough, emptyEditorHintChat areaspanelChat, inlineChat, inlineCompletions, terminalChatOutputTurn one offe.g. "accessibility.verbosity.hover": false once you know the shortcutSounds & Announcements (accessibility.signals.*)
accessibility.signals.nameAn object with sound and announcement, e.g. { "sound": "on", "announcement": "off" }sound valuesauto (sound only when a screen reader is attached; the default), on, offannouncement valuesauto (default), on, off: a spoken message for screen readerslineHasError / lineHasWarningSignal when the cursor line has an error / warning (announcement off by default)positionHasError / positionHasWarningSignal when the cursor is exactly on one (announcement on by default)lineHasBreakpoint, lineHasFoldedArea, lineHasInlineSuggestionSignals for breakpoints, folded regions (sound off by default) and inline suggestions (sound off by default)taskCompleted, taskFailed, onDebugBreakSignals for task results and for stopping at a breakpointterminalCommandSucceeded / terminalCommandFailed / terminalBellSignals from the terminaldiffLineInserted / Deleted / ModifiedSounds while moving through a diffsave, formatsound is userGesture, always or never (default never)accessibility.signalOptions.volumeVolume of signal sounds, 0 to 100 (default 70)accessibility.signalOptions.debouncePositionChangesWait before reporting position-based signals (default false)Seeing More Easily
window.zoomLevelWhole-window zoom, 0 normal (default); Ctrl+= and Ctrl+- change iteditor.fontSize / editor.lineHeightMake the code text larger or more spacededitor.mouseWheelZoomCtrl + mouse wheel zooms the editor text (default false)workbench.colorThemePick "Dark High Contrast" or "Light High Contrast", or use Ctrl+K Ctrl+Twindow.autoDetectHighContrastSwitch to a high-contrast theme when the OS is in high-contrast modeaccessibility.underlineLinksUnderline links in the interface (default false)accessibility.dimUnfocused.enabledDim editors and views that do not have focus (default false)accessibility.dimUnfocused.opacityHow dim: 0.2 to 1 (default 0.75)terminal.integrated.minimumContrastRatioAdjusts terminal text colours until they reach this contrast (default 4.5)Cursor, Motion & Hover
editor.cursorStyle / editor.cursorWidthA block or thicker cursor is easier to findeditor.cursorBlinkingsolid stops the blinkingeditor.cursorSmoothCaretAnimationoff (default); animated cursor movementworkbench.reduceMotionauto (default, follows the OS), on, offworkbench.reduceTransparencyoff (default), on, autoeditor.hover.enabledon, off, onKeyboardModifier: pop-up information under the mouseeditor.hover.delay / editor.hover.stickyHow long to wait before a hover shows / whether you can move the mouse into itworkbench.hover.delayDelay for interface tooltips in ms (default 500 on Windows and Linux, 1500 on macOS)Keyboard Navigation
F6 / Shift+F6Move focus to the next / previous part of the window (side bar, editor, panel)Ctrl+1 / Ctrl+2 / Ctrl+3Focus the first / second / third editor groupCtrl+Shift+PCommand Palette: anything can be done from here without a mouseCtrl+G / Ctrl+Shift+OGo to a line / a symbol in the fileCtrl+Shift+E / F / G / D / XFocus Explorer / Search / Source Control / Run and Debug / ExtensionsCtrl+`Focus the terminalCtrl+K Ctrl+SOpen the Keyboard Shortcuts editor to change any bindingTerminal Accessibility
terminal.integrated.accessibleViewPreserveCursorPositionfalse (default), true, always: keep your place when reopening the Accessible Viewterminal.integrated.accessibleViewFocusOnCommandExecutionMove focus to the Accessible View when a command runs (default false)terminal.integrated.minimumContrastRatioContrast adjustment for terminal text (default 4.5)Alt+F2 in the terminalRead the terminal output in the Accessible ViewVoice & Chat Accessibility
accessibility.voice.speechLanguageLanguage for speech recognition (default auto); needs the VS Code Speech extensionaccessibility.voice.speechTimeoutMilliseconds of silence before dictation stopsaccessibility.voice.autoSynthesizeoff (default) or on: read chat answers aloud after you spokeaccessibility.voice.ignoreCodeBlocksSkip code blocks when reading answers aloud (default false)accessibility.verboseChatProgressUpdatesMore detailed progress messages during chat requests (default true)accessibility.chat.showCheckmarksShow checkmarks in chat (default false)accessibility.openChatEditedFilesOpen files edited by chat automatically (default false)accessibility.replEditor.autoFocusReplExecutionAfter a REPL run, focus: input (default), lastExecution, noneA Reasonable Starter Set (my suggestions, not defaults)
"window.zoomLevel": 1A little larger everywhere; adjust to taste"editor.cursorBlinking": "solid"A steady cursor is easier to track"editor.cursorStyle": "block"A wider cursor stands out more"accessibility.underlineLinks": trueLinks do not depend on colour alone"accessibility.dimUnfocused.enabled": trueMakes the focused area obvious"workbench.reduceMotion": "on"Fewer animations"accessibility.signals.taskCompleted": { "sound": "on" }Hear when a task finishes without a screen readerWant the sounds without a screen reader? Set sound to on
Most accessibility.signals.* settings default to sound: auto, which plays the sound only when a screen reader is attached. To hear them anyway, set the individual signal to { "sound": "on" }, for example for task completion, terminal command failure or breakpoints. Use accessibility.signalOptions.volume to set the volume.
Alt+F1 shows what is available right here
Accessibility Help is context sensitive: pressed in the editor it lists editor shortcuts and settings, in the terminal it lists terminal ones, and so on. It is the quickest way to discover features you did not know about, and the accessibility.verbosity.* settings control whether a screen reader reminds you of it.