Drupal Accessibility Features

Last updated on
9 September 2026

Drupal core includes features that support accessible websites and authoring. They provide a foundation for site builders, content authors, developers, and themers. They do not make every Drupal site accessible. Configuration, contributed projects, custom code, themes, and content can change the result.

The examples below describe Drupal 11.x. Review and test the Drupal version and configuration used by your site.

Semantic HTML and ARIA

Drupal core uses semantic HTML for page structure, relationships, and controls. Core themes include landmarks, headings, lists, form labels, and other native elements. Drupal uses Accessible Rich Internet Applications (WAI-ARIA) when HTML cannot express the required name, role, state, or relationship.

Native HTML is preferred where it provides the required semantics and behavior. ARIA does not add keyboard behavior or repair incorrect HTML.

Status Announcements

The Drupal.announce() API sends text to an ARIA live region. Use it to communicate meaningful page changes that may not be apparent to screen-reader users.

Announcements use a polite priority by default. Reserve assertive announcements for urgent information because they may interrupt other speech.

Drupal.announce(Drupal.t('Three results were added.'));

Keyboard and Focus Management

The TabbingManager API can constrain keyboard navigation to a set of elements and restore the previous tab order. Drupal uses it when focus needs to remain within an active context.

This API does not make a component accessible. Components still need logical keyboard operation, visible focus, appropriate initial focus, and predictable focus restoration.

Hidden and Focusable Content

Drupal provides hidden, visually-hidden, and focusable utility classes. They support content hidden from everyone, available only to assistive technology, or displayed on keyboard focus. The Hide Content Properly guide explains each approach.

Forms and Error Messages

Drupal’s Form API supports labels, descriptions, required states, and fieldset and legend elements. These features help developers preserve relationships in forms.

The Inline Form Errors module places error messages next to the affected controls and provides an error summary. The module is included in Drupal core but is not enabled by default.

Alternative Text

Drupal image fields and CKEditor 5 provide controls for text alternatives. The standard Article configuration requires alternative text for its image field. Administrators can change these settings, so each site must verify its configuration.

Requiring an entry cannot determine whether the alternative is useful. Content guidance and editorial review are still necessary.

Content Authoring with CKEditor 5

Drupal’s Basic HTML text format provides structured heading options from H2 through H6. CKEditor 5 also supports text alternatives for images and embedded media.

Administrators can add the Language toolbar item to identify changes in language or text direction. Editor capabilities depend on the toolbar, allowed HTML, filters, and permissions.

Core Themes

Olivero is Drupal core’s public-facing default theme. Claro is the default administration theme. Both include accessible patterns for navigation, forms, focus indicators, responsive layouts, and forced-colors modes. They continue to be reviewed and improved through the Drupal core issue queue.

Changing templates, styles, components, or JavaScript can alter their accessibility. Treat a core theme as a tested starting point, not a site-wide conformance guarantee.

Configuration and Testing

Accessibility features can be disabled, reconfigured, or overridden. Test the completed interface, including its content and important interaction states. Use automated checks together with keyboard, zoom, reflow, and assistive-technology testing.

Follow Drupal’s Accessibility Coding Standards and the guide to performing an accessibility review.

Help improve this page

Page status: No known problems

You can: