CKEditor WCAG 2.0 Compliance
This article decribes CKEditor 4 compatibility with the Web Content Accessibility Guidelines (WCAG) 2.0 standard.
# Principle 1: Perceivable
Information and user interface components must be presentable to users in ways they can perceive. See reference.
Guideline | Level | Description of Support | Used Techniques |
---|---|---|---|
1.1 Text Alternatives: Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language. | |||
1.1.1 Non-text Content: All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for the situations listed below.
|
A |
|
|
1.2 Time-based Media: Provide alternatives for time-based media. | |||
1.2.1 Audio-only and Video-only (Prerecorded): For prerecorded audio-only and prerecorded video-only media, the following are true, except when the audio or video is a media alternative for text and is clearly labeled as such:
|
A | N/A. There is no time-based media content in the editor. | – |
1.2.2 Captions (Prerecorded): Captions are provided for all prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such. | A | N/A. There is no time-based media content in the editor. | – |
1.2.3 Audio Description or Media Alternative (Prerecorded): An alternative for time-based media or audio description of the prerecorded video content is provided for synchronized media, except when the media is a media alternative for text and is clearly labeled as such. | A | N/A. There is no time-based media content in the editor. | – |
1.2.4 Captions (Live): Captions are provided for all live audio content in synchronized media. | AA | N/A. There is no time-based media content in the editor. | – |
1.2.5 Audio Description (Prerecorded): Audio description is provided for all prerecorded video content in synchronized media. | AA | N/A. There is no time-based media content in the editor. | – |
1.3 Adaptable: Create content that can be presented in different ways (for example simpler layout) without losing information or structure. | |||
1.3.1 Info and Relationships: Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text. | A |
|
|
1.3.2 Meaningful Sequence: When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined. | A |
|
|
1.3.3 Sensory Characteristics: Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, size, visual location, orientation, or sound. | A | All editor UI elements have proper textual labels. | |
1.4 Distinguishable: Make it easier for users to see and hear content including separating foreground from background. | |||
1.4.1 Use of Color: Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. | A | All information conveyed with color, including the color selector, is also available without color through textual labels or exposing its current value to Assistive Technology. | |
1.4.2 Audio Control: If any audio on a Web page plays automatically for more than 3 seconds, either a mechanism is available to pause or stop the audio, or a mechanism is available to control audio volume independently from the overall system volume level. | A | N/A. There is no audio content in the editor. | – |
1.4.3 Contrast (Minimum): The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following:
|
AA |
|
|
1.4.4 Resize text: Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality. | AA | CKEditor is designed in a way that enables the use of user agent zoom feature. | |
1.4.5 Images of Text: If the technologies being used can achieve the visual presentation, text is used to convey information rather than images of text except for the following:
|
AA |
|
# Principle 2: Operable
User interface components and navigation must be operable. See reference.
Guideline | Level | Description of Support | Used Techniques |
---|---|---|---|
2.1 Keyboard Accessible: Make all functionality available from a keyboard. | |||
2.1.1 Keyboard: All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints. | A |
|
|
2.1.2 No Keyboard Trap: If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away. | A |
|
|
2.2 Enough Time: Provide users enough time to read and use content. | |||
2.2.1 Timing Adjustable: For each time limit that is set by the content, at least one of the following is true:
|
A | N/A. There are no timeouts in CKEditor UI elements. The only time-affected elements of the editor UI are notifications of action statuses which do not require any user input. | – |
2.2.2 Pause, Stop, Hide: For moving, blinking, scrolling, or auto-updating information, all of the following are true:
|
A | N/A. There is no blinking or flickering content in CKEditor. Moveable UI elements such as dialogs can only be moved in a smooth fashion by the user. | – |
2.3 Seizures: Do not design content in a way that is known to cause seizures. | |||
2.3.1 Three Flashes or Below Threshold: Web pages do not contain anything that flashes more than three times in any one second period, or the flash is below the general flash and red flash thresholds. | A | There is no blinking or flickering content in CKEditor. Moveable UI elements such as dialogs can only be moved in a smooth fashion by the user. | |
2.4 Navigable: Provide ways to help users navigate, find content, and determine where they are. | |||
2.4.1 Bypass Blocks: A mechanism is available to bypass blocks of content that are repeated on multiple Web pages. | A |
|
|
2.4.2 Page Titled: Web pages have titles that describe topic or purpose. | A |
|
|
2.4.3 Focus Order: If a Web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability. | A |
|
|
2.4.4 Link Purpose (In Context): The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general. | A | All links inside CKEditor contain text that describes their purpose. | |
2.4.5 Multiple Ways: More than one way is available to locate a Web page within a set of Web pages except where the Web Page is the result of, or a step in, a process. | AA | N/A. Editor is not a web page, but a component that is located inside a web page. | – |
2.4.6 Headings and Labels: Headings and labels describe topic or purpose. | AA |
|
|
2.4.7 Focus Visible: Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible. | AA | The currently focused element in the editor toolbar has a changed presentation, e.g. a visibly different background color. |
# Principle 3: Understandable
Information and the operation of user interface must be understandable. See reference.
Guideline | Level | Description of Support | Used Techniques |
---|---|---|---|
3.1 Readable: Make text content readable and understandable. | |||
3.1.1 Language of Page: The default human language of each Web page can be programmatically determined. | A |
|
|
3.1.2 Language of Parts: The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text. | AA | The Language plugin allows the editor user to properly mark parts of text as fragments in a particular language using the lang attribute. |
|
3.2 Predictable: Make Web pages appear and operate in predictable ways. | |||
3.2.1 On Focus: When any component receives focus, it does not initiate a change of context. | A | All changes must be confirmed by the user by pressing an appropriate button in a dialog or the toolbar. No changes occur just by focusing a UI element. | |
3.2.2 On Input: Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component. | A | No changes of context are caused by just inputting into a form field. All changes must be confirmed by the user by pressing an appropriate button in a dialog or the toolbar. | |
3.2.3 Consistent Navigation: Navigational mechanisms that are repeated on multiple Web pages within a set of Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user. | AA | The position and order of the editor toolbar is the same between navigations to the web page containing the editor. | |
3.2.4 Consistent Identification: Components that have the same functionality within a set of Web pages are identified consistently. | AA |
|
|
3.3 Input Assistance: Help users avoid and correct mistakes. | |||
3.3.1 Error Identification: If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text. | A |
|
|
3.3.2 Labels or Instructions: Labels or instructions are provided when content requires user input. | A |
|
|
3.3.3 Error Suggestion: If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content. | AA |
|
|
3.3.4 Error Prevention (Legal, Financial, Data): For Web pages that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, at least one of the following is true:
|
AA |
|
# Principle 4: Robust
Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies. See reference.
Guideline | Level | Description of Support | Used Techniques |
---|---|---|---|
4.1 Compatible: Maximize compatibility with current and future user agents, including assistive technologies. | |||
4.1.1 Parsing: In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features. | A |
|
|
4.1.2 Name, Role, Value: For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies. | A |
|
# Related Features
Refer to the following resources for more information about accessibility in CKEditor:
- The Accessibility Support in CKEditor article explains CKEditor compliance with some well-known accessibility standards and gives an overview of available accessibility-related features.
- The Managing Content Accessibility with Accessibility Checker article describes an innovative Accessibility Checker tool that lets you inspect the accessibility level of content created in CKEditor and immediately solve any issues that are found.
- The Keyboard Shortcuts article lists all keyboard shortcuts supported in CKEditor.
- The Page Navigation Using the “Tab” Key article discusses how CKEditor participates in the page Tab order.
- The CKEditor Section 508 Compliance article describes CKEditor 4 compatibility with Section 508 Amendment to the Rehabilitation Act of 1973.