The Carlo Editor Accessibility Guide

This page describes the features the Carlo Editor has to help make the editor accessible to all users.

Keyboard Navigation

The Carlo Editor will provide an exhaustive list of commands in the Command Palette (F1 or Alt+F1 on Internet Explorer), so you can use the editor without using the mouse. The Command Palette can also be invoked from the editor's context menu.

Screen shot of the Command Palette

All commands in the file menu are available as commands in the Command Palette. The file menu itself can be accessed using the [Focus on the Menu Bar] command. Use Tab/Shift+Tab to navigate the menu, press the enter key to expand a menu. You may also use the Focus on the Menu Bar command to focus on any windows which may appear above the editor.

High Contrast

On Edge, the Carlo Editor will automatically adjust to respect the High Contrast Theme and colors chosen in Windows:

The command "Toggle High Contrast Theme" (in the Command Palette) will toggle the use of the high contrast theme for the editor, and works in any browser and Operating System:

Screen shot of the Editor configured with the High Contrast Theme

Tab Trapping

By default, pressing Tab in an editable editor inserts the Tab character (or spaces depending on the indentation setting) and does not navigate to the next focusable element on the page. You can toggle the trapping of Tab with Ctrl+M on Windows and Linux and with Ctrl+Shift+M on OSX, and subsequent Tab keys will move focus out of the editor.

You can also toggle Tab trapping from the Command Palette with the "Toggle Tab Key Moves Focus" action.

UI optimized for Screen Readers

The Carlo Editor supports screen readers in the editor using a strategy based on paging the text.

When using NVDA on Windows, we recommend to update to NVDA 2017.3 or higher. NVDA 2017.3 increases NVDA's timeout for receiving a caret move event from 30ms to 100ms. This version is the first one where the built-in timeout is increased from 30ms to 100ms.

The "Go to Next/Previous Error or Warning" actions (F8 and Shift+F8) allow screen readers to announce the error or warning messages. Use Escape or Shift+Escape to return focus to the editor at the position of the error or warning:

Screen Shot of the embedded pane which presents errors and warnings

When in an editable editor, and when the suggestions pop up, they will get announced to screen readers. It is possible to navigate the suggestions using Ctrl+Up and Ctrl+Down (as well as Arrow Up and Arrow Down), you can dismiss the suggestions with Escape or Shift+Escape. These alternative keybindings allow various Screen Reader software to remain in focus mode. If a suggestion has additional details, this will be read out and it is possible to read the additional details by pressing Ctrl+Space.

Accessibility Help

You can press Alt+F1 or Ctrl+F1 in IE to trigger the "Show Accessibility Help" dialog while in an editor to find out the current position in the editor and to check the state of various accessibility options. The editor can be dynamically optimized for screen reader software from this dialog.

Screen Shot of the accessibility help dialog

This guide has been adapted from the Monaco Editor Accessibility Guide.
Monaco Editor Accessibility Guide License:
The MIT License (MIT)
Copyright (c) 2019 Microsoft Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.