Contribute to this guide

Accessibility support

CKEditor 5 incorporates various accessibility features, including keyboard navigation, screen reader support (ARIA attributes), and robust semantic output markup. This guide provides a detailed overview and presents the current status of editor accessibility.

# Conformance with WCAG 2.x and Section 508

CKEditor 5 is compliant with Web Content Accessibility Guidelines 2.2 (WCAG) 2.2 levels A and AA and Section 508 of the Rehabilitation Act unless stated otherwise in the Accessibility Conformance Report.

  • Web Content Accessibility Guidelines 2.2 (WCAG) provides international standards for making web content accessible to individuals with disabilities, ensuring that web applications are perceivable, operable, understandable, and robust for all users.
  • Section 508 of the Rehabilitation Act mandates that federal agencies’ electronic and information technology is accessible to people with disabilities, establishing guidelines to achieve this goal.

CKEditor 5 strives for conformance with these standards and we welcome your feedback on the accessibility of our software.

For optimal screen reader experience, we recommend using Google Chrome and NVDA (Windows) or Safari and VoiceOver (macOS).

# Accessibility Conformance Report (VPAT)

In our ongoing commitment to accessibility, we provide a report based on the ITI Voluntary Product Accessibility Template (VPAT®), a standardized format for evaluating the accessibility of computer software. This document serves as a comprehensive resource detailing the accessibility features of CKEditor 5, including compliance with accessibility standards and guidelines: Web Content Accessibility Guidelines 2.2 (WCAG) 2.2 levels A and AA and Section 508 of the Rehabilitation Act.

We continuously update the VPAT® report to reflect any changes or improvements. You can download the latest version of the VPAT® document below.

# Keyboard shortcuts

CKEditor 5 supports various keyboard shortcuts that boost productivity and provide necessary accessibility to screen reader users.

Keyboard support is enabled by default for all editor types and core editor features.

Below is a list of the most important keystrokes supported by CKEditor 5 and its features.

# Content editing keystrokes

These keyboard shortcuts allow for quick access to content editing features.

Action PC Mac
Insert a hard break (a new paragraph) Enter
Insert a soft break (a <br> element) Shift+Enter ⇧Enter
Copy selected content Ctrl+C ⌘C
Paste content Ctrl+V ⌘V
Paste content as plain text Ctrl+Shift+V ⌘⇧V
Undo Ctrl+Z ⌘Z
Redo Ctrl+Y, Ctrl+Shift+Z ⌘Y, ⌘⇧Z
Bold text Ctrl+B ⌘B
Change text case Shift+F3 ⇧F3 (may require Fn)
Create link Ctrl+K ⌘K
Move out of a link ,
Move out of an inline code style ,
Select all Ctrl+A ⌘A
Find in the document Ctrl+F ⌘F
Copy text formatting Ctrl+Shift+C ⌘⇧C
Paste text formatting Ctrl+Shift+V ⌘⇧V
Italic text Ctrl+I ⌘I
Strikethrough text Ctrl+Shift+X ⌘⇧X
Underline text Ctrl+U ⌘U
Revert autoformatting action Backspace

# Keystrokes for interacting with annotation threads (such as comments or track changes suggestions)

Action PC Mac
Move focus to the thread when the selection is anchored in its marker Ctrl+Shift+E ⌘⇧E
Exit the annotation and move focus back to the edited content Esc
Browse the focused annotation thread or thread comment Enter
Move across internals of the annotation thread , Shift+ , ⇧⇥
Submit the reply while writing a comment Ctrl+Enter ⌘Enter
Move to the previous or next thread in the annotations sidebar or comments archive ,

# Keystrokes that can be used when a widget is selected (such as image, table, etc.)

Action PC Mac
Insert a new paragraph directly after a widget Enter
Insert a new paragraph directly before a widget Shift+Enter ⇧Enter
Move the caret to allow typing directly before a widget ,
Move the caret to allow typing directly after a widget ,
After entering a nested editable, move the selection to the closest ancestor widget. For example: move from an image caption to the whole image widget. Tab then Esc

# Keystrokes that can be used in a list

Action PC Mac
Increase list item indent
Decrease list item indent Shift+ ⇧⇥

# Keystrokes for navigating through documents

Action PC Mac
Go to the previous page (also move selection) Shift+Page Up ⇧Page Up (may require Fn)
Go to the next page (also move selection) Shift+Page Down ⇧Page Down (may require Fn)

# Keystrokes that can be used in a table cell

Action PC Mac
Move the selection to the next cell
Move the selection to the previous cell Shift+ ⇧⇥
Insert a new table row (when in the last cell of a table)
Navigate through the table , , ,

# User interface and content navigation keystrokes

Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.

Action PC Mac
Close contextual balloons, dropdowns, and dialogs Esc
Open the accessibility help dialog Alt+0 ⌥0
Move focus between form fields (inputs, buttons, etc.) , Shift+ , ⇧⇥
Move focus to the toolbar, navigate between toolbars Alt+F10 ⌥F10 (may require Fn)
Navigate through the toolbar or menu bar , , ,
Navigate to the next focusable field or an element outside the editor Tab, Shift+Tab
Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content. Enter, Space
Move focus to the menu bar, navigate between menu bars Alt+F9 ⌥F9 (may require Fn)
Move focus in and out of an active dialog window Ctrl+F6 ⌘F6 (may require Fn)

# Source Editing Enhanced (plugin)

Keystrokes introduced by Source Editing Enhanced plugin, to streamline code editing experience.

Action PC Mac
Accept completion Enter
Close completion Esc
Move completion selection backward
Move completion selection backward by one page Page Up
Move completion selection forward
Move completion selection forward by one page Page Down
Action PC Mac
Fold all Ctrl+Alt+[ ⌃⌥[
Fold code Ctrl+Shift+[ ⌘⌥[
Unfold all Ctrl+Alt+] ⌃⌥]
Unfold code Ctrl+Shift+] ⌘⌥]

# Keystrokes that change the selection in the code editor

Action PC Mac
Select all Ctrl+A ⌘A
Select character left Shift+ ⇧←, ⌃⇧B
Select character right Shift+ ⇧→, ⌃⇧F
Select document end Shift+Ctrl+End ⌘⇧↓, ⌘⇧End
Select document start Shift+Ctrl+Home ⌘⇧↑, ⌘⇧Home
Select group left Shift+Ctrl← ⌥⇧←
Select group right Shift+Ctrl→ ⌥⇧→
Select line Alt+L ⌃L
Select line boundary backward Shift+Home ⇧Home
Select line boundary forward Shift+End ⇧End
Select line down Shift+ ⇧↓, ⌃⇧N
Select line up Shift+ ⇧↑, ⌃⇧P
Select page down Shift+Page Down ⌃⇧↓, ⇧Page Down
Select page up Shift+Page Up ⌃⇧↑, ⇧Page Up
Select parent syntax Ctrl+I ⌘I
Select syntax left Shift+Alt+ ⌃⇧←
Select syntax right Shift+Alt+ ⌃⇧→
Select line boundary left ⌘⇧←
Select line boundary right ⌘⇧→
Select line end ⌃⇧E
Select line start ⌃⇧A

# Keystrokes that move the cursor (caret) in the code editor

Action PC Mac
Move cursor to character left , ⌃B
Move cursor to character right , ⌃F
Move cursor to document end Ctrl+End ⌘↓, ⌘End
Move cursor to document start Ctrl+Home ⌘↑, ⌘Home
Move cursor to group left Ctrl+ ⌥←
Move cursor to group right Ctrl+ ⌥→
Move cursor to line boundary backward Home
Move cursor to line boundary forward End
Move cursor to line down , ⌃N
Move cursor to line up , ⌃P
Move cursor to matching bracket Shift+Ctrl\ ⌘⇧\
Move cursor to page down Page Down ⌃↓, ⌃V, Page Down
Move cursor to page up Page Up ⌃↑, Page Up
Move cursor to syntax left Alt+ ⌃←
Move cursor to syntax right Alt+ ⌃→
Move line down Alt+ ⌥↓
Move line up Alt+ ⌥↑
Move cursor to line boundary left ⌘←
Move cursor to line boundary right ⌘→
Move cursor to line end ⌘E
Move cursor to line start ⌘A

# Keystrokes that modify the code in the editor

Action PC Mac
Copy line down Shift+Alt+ ⇧⌥↓
Copy line up Shift+Alt+ ⇧⌥↑
Delete bracket pair Backspace
Delete character backward Backspace, Shift+Backspace Backspace, ⌃H, ⇧Backspace
Delete character forward Delete ⌃D, Delete
Delete group backward Ctrl+Backspace ⌥Backspace, ⌃⌥H
Delete group forward Ctrl+Delete ⌥Delete
Delete line Shift+CtrlK ⌘⇧K
Indent less Ctrl+[ ⌘[
Indent more Ctrl+] ⌘]
Indent selection Ctrl+Alt+\ ⌘⌥\
Insert blank line Ctrl+Enter ⌘Enter
Insert new line and indent Enter, Shift+Enter Enter, ⇧Enter
Redo Ctrl+Shift+Z, Ctrl+Y ⌘⇧Z, ⌘Y
Redo selection Alt+U ⌘⇧U
Simplify selection Esc
Toggle block comment Shift+Alt+A ⇧⌥A
Toggle comment Ctrl+/ ⌘/
Undo Ctrl+Z ⌘Z
Undo selection Ctrl+U ⌘U
Delete line boundary backward ⌘Backspace
Delete line boundary forward ⌘Delete
Delete to line end ⌃K
Split line ⌃O
Transpose characters ⌃T

# Miscellaneous code editor shortcuts

Action PC Mac
Switch between "focus with tab" and "indent with tab" mode Ctrl+M ⌥⇧M

# Displaying keyboard shortcuts in the editor

CKEditor 5 offers a dedicated Accessibility help plugin that displays a list of all available keyboard shortcuts in a dialog. It can be opened by pressing Alt + 0 (on Windows) or ⌥0 (on macOS). Alternatively, you can use the toolbar button to open the dialog.

Press Alt+0 (⌥0 on Mac) while editing to display the list of available keyboard shortcuts.

The Accessibility help plugin is enabled by the Essentials plugin from the @ckeditor/ckeditor5-essentials package (which also enables other common editing features).

Learn how integrators can add keyboard shortcuts to their features and supply shortcut information to the Accessibility help dialog.

# Accessibility feedback and bugs

We welcome your feedback on the accessibility of CKEditor 5. You can find the current list of accessibility issues on GitHub. Learn how to report issues.