Accessibility in Blazor RichTextEditor

12 Aug 202211 minutes to read

The Rich Text Editor component has been designed, keeping in mind the WAI-ARIA specifications, and applies the WAI-ARIA roles, states, and properties. This component is characterized by complete ARIA accessibility support that makes it easy for people who use assistive technologies (AT) or those who completely rely on keyboard navigation.

ARIA attributes

The toolbar of Rich Text Editor, assigned the role of Toolbar and has the following list of ARIA attributes:

Roles and Attributes Functionalities
role=”toolbar” This attribute added to the toolbar element describes the actual role of the element.
aria-orientation Indicates the toolbar orientation. Default value is horizontal.
aria-haspopup Indicates the popup mode of the toolbar. The default value is false. When popup mode is enabled, attribute value has to be changed to true.
aria-disabled Indicates the disabled state of the toolbar.

For further details of toolbar ARIA attributes, refer to the accessibility of Toolbar documentation.

The Rich Text Editor element is assigned the role of application.

Roles and Attributes Functionalities
role=”application” This attribute added to the editor element describes the actual role of the element.
aria-disabled Indicates the disabled state of the editor.
@using Syncfusion.Blazor.RichTextEditor

<SfRichTextEditor ShowCharCount="true">
    <p>The Rich Text Editor component is WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update the content. Users can format their content using standard toolbar commands.</p>
    <p><b> Key features:</b></p>
    <ul>
    <li><p> Provides <b>IFRAME</b> and <b>DIV</b> modes </p></li>
    <li><p> Capable of handling markdown editing.</p></li>
    <li><p> Contains a modular library to load the necessary functionality on demand.</p></li>
    <li><p> Provides a fully customizable toolbar.</p></li>
    <li><p> Provides HTML view to edit the source directly for developers.</p></li>
    <li><p> Supports third - party library integration.</p></li>
    <li><p> Allows preview of modified content before saving it.</p></li>
    </ul>
</SfRichTextEditor>

Accessibility in Blazor RichTextEditor

Keyboard support

The editor has full keyboard accessibility that includes shortcuts to open and other actions with toolbar items, drop-down lists, and dialogs.

HTML editor shortcuts

You can use the following key shortcuts when the Rich Text Editor renders with HTML editMode.

Actions Keyboard shortcuts
Toolbar focus ALT + F10
Insert link CTRL + K
Insert image CTRL + SHIFT + I
Insert table CTRL + SHIFT + E
Undo CTRL + Z
Redo CTRL + Y
Copy CTRL + C
Cut CTRL + X
Paste CTRL + V
Bold CTRL + B
Italic CTRL + I
Underline CTRL + U
Strikethrough CTRL + SHIFT + S
Uppercase CTRL + SHIFT + U
Lowercase CTRL + SHIFT + L
Superscript CTRL + SHIFT + =
Subscript CTRL + =
Indents CTRL + ]
Outdents CTRL + [
HTML source CTRL + SHIFT + H
Full screen CTRL + SHIFT + F
Exit Full screen Esc
Justify center CTRL + E
Justify full CTRL + `J
Justify left CTRL + L
Justify right CTRL + R
Clear format CTRL + SHIFT + R
Ordered list CTRL + SHIFT + O
Unordered list CTRL + ALT + O

Markdown editor shortcuts

You can use the following key shortcuts when the Rich Text Editor renders with Markdown editMode.

Actions Keyboard shortcuts
Toolbar focus ALT + F10
Insert link CTRL + K
Insert image CTRL + SHIFT + I
Insert table CTRL + SHIFT + E
Undo CTRL + Z
Redo CTRL + Y
Copy CTRL + C
Cut CTRL + X
Paste CTRL + V
Bold CTRL + B
Italic CTRL + i
Strikethrough CTRL + SHIFT + S
Uppercase CTRL + SHIFT + U
Lowercase CTRL + SHIFT + L
Superscript CTRL + SHIFT + =
Subscript CTRL + =
Full screen CTRL + SHIFT + F
Exit Full screen Esc
Ordered list CTRL + SHIFT + O
Unordered list CTRL + ALT + O
@using Syncfusion.Blazor.RichTextEditor

<SfRichTextEditor EditorMode="EditorMode.Markdown">
    <p>The Rich Text Editor component is WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update the content. Users can format their content using standard toolbar commands.</p>
    <p><b> Key features:</b></p>
    <ul>
    <li><p> Provides <b>IFRAME</b> and <b>DIV</b> modes </p></li>
    <li><p> Capable of handling markdown editing.</p></li>
    <li><p> Contains a modular library to load the necessary functionality on demand.</p></li>
    <li><p> Provides a fully customizable toolbar.</p></li><li><p> Provides HTML view to edit the source directly for developers.</p></li>
    <li><p> Supports third - party library integration.</p></li>
    <li><p> Allows preview of modified content before saving it.</p></li>
    </ul>
</SfRichTextEditor>

Blazor RichTextEditor with Key Configuration

Custom key configuration

Customize the key config for the keyboard interaction of Rich Text Editor, using the KeyConfigure property.

In the following code block, customize the bold and italic, toolbar actions with ctrl+1, ctrl+2 respectively.

@using Syncfusion.Blazor.RichTextEditor

<SfRichTextEditor KeyConfigure="@KeyConfig">
    <p>The Rich Text Editor component is WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update the content. Users can format their content using standard toolbar commands.</p>
    <p><b> Key features:</b></p>
    <ul>
    <li><p> Provides <b>IFRAME</b> and <b>DIV</b> modes </p></li>
    <li><p> Capable of handling markdown editing.</p></li>
    <li><p> Contains a modular library to load the necessary functionality on demand.</p></li>
    <li><p> Provides a fully customizable toolbar.</p></li>
    <li><p> Provides HTML view to edit the source directly for developers.</p></li>
    <li><p> Supports third - party library integration.</p></li>
    <li><p> Allows preview of modified content before saving it.</p></li>
    </ul>
</SfRichTextEditor>

@code {
    private ShortcutKeys KeyConfig = new ShortcutKeys()
    {
        Bold = "ctrl+1",
        Italic = "ctrl+2"
    };
}

You can refer to our Blazor Rich Text Editor feature tour page for its groundbreaking feature representations. You can also explore our Blazor Rich Text Editor example to knows how to render and configure the rich text editor tools.

See also