Accessibility in EJ2 TypeScript Carousel control

13 Dec 20245 minutes to read

The JavaScript Carousel control has been designed, keeping in mind the WAI-ARIA specifications, and applying the WAI-ARIA roles, states and properties along with keyboard support for people who use assistive devices. WAI-ARIA accessibility support is achieved through attributes like aria-roledescription, aria-label, aria-current, aria-live, aria-role and aria-hidden. It provides information about elements in a document for assistive technology. The control implements keyboard navigation support by following the WAI-ARIA practices and has been tested in major screen readers.

The accessibility compliance for the Carousel control is outlined below.

Accessibility Criteria Compatibility
WCAG 2.2 Support Yes
Section 508 Support Yes
Screen Reader Support Yes
Right-To-Left Support Yes
Color Contrast Yes
Mobile Device Support Yes
Keyboard Navigation Support Yes
Accessibility Checker Validation Yes
Axe-core Accessibility Validation Yes
Yes - All features of the control meet the requirement.
Intermediate - Some features of the control do not meet the requirement.
No - The control does not meet the requirement.

ARIA attributes

The Carousel control is designed by considering WAI-ARIA standard. Carousel is supported with ARIA Accessibility which is accessible by on-screen readers and other assistive technology devices. The following list of attributes is added to the Carousel.

Roles and Attributes Functionalities
aria-roledescription The role description attribute has been added for the root element (carousel) and each carousel slide item (slide).
aria-label Previous, next and play/pause buttons and all indicator elements.
aria-current For the active item indicator element, aria-current is set to true.
aria-hidden For all carousel elements except the currently visible item, aria-hidden is set to true.
aria-live For carousel items element, when autoPlay is true, aria-live is set to off; when autoPlay is false, aria-live is set to polite.
aria-role For carousel slide item, aria-role has been grouped.

Keyboard interaction

All Carousel actions can be controlled using keyboard keys through the allowKeyboardInteraction property, which is enabled by default. If you wish to disable the default keyboard interactions, you can set this property to false. This is particularly useful if the carousel contains input elements, as pressing the arrow keys might cause the carousel to move unexpectedly. By disabling keyboard interaction, the carousel remains static, allowing the user to focus on the input fields without any interruptions.

This control implements keyboard navigation support by following WAI-ARIA practices. Once focused on the active Carousel element, you can use the following key combinations to interact with the Carousel.

Key Description
Alt + J Keys to focus the Carousel control (done at application end).
Arrows Keys to navigate between slides.
Home To navigate to the first slide.
End To navigate to the last slide.
Space To play/pause the slide transitions.
Enter To perform the respective action on its focus.
Tab To Move focus through the interactive elements.
Shift + Tab To Move focus through the interactive elements.

Ensuring accessibility

The Carousel control accessibility levels are ensured through an accessibility-checker and axe-core software tools during automated testing.

The accessibility compliance of the Carousel control is shown in the following sample. Open the sample in a new window to evaluate the accessibility of the Carousel control with accessibility tools.

See also