Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). leaflet 10.4.5 Minor update available for module leaflet (10.4.5). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2).

Accessible Calendar

Accessible Calendar provides month and week calendar displays for Views results in Drupal,
with a strong accessibility focus that improves navigation, announcements, and day context
for assistive technology users.

It is a lightweight Views-based solution for presenting existing content in a calendar
without introducing a separate event model. The module works with standard Views results
and selected date fields, then renders them as accessible calendar displays with custom
navigation and theming.

The project includes an optional submodule for improved multiday event rendering.

Features

  • Month and week calendar Views style plugins.
  • Custom month and week pager plugins for calendar navigation.
  • Accessible pager markup with a navigation landmark and aria-current support.
  • AJAX update announcements for assistive technology users.
  • Focus management after AJAX navigation.
  • Hidden day summaries for screen reader users.
  • Configurable first day of the week.
  • Optional work-week mode in week view.
  • Tokenized calendar titles and row title attributes.
  • Optional display of the original Views rows alongside the calendar.
  • Exposed Jump to filter based on the calendar_timestamp query argument.
  • Optional multiday companion submodule.

Requirements

  • Drupal 10 or Drupal 11.
  • Drupal core Views.
  • At least one supported date field added to the View display.

Installation

Install the module with Composer:

composer require drupal/accessible_calendar

Enable the main module:

drush en accessible_calendar

If you need multiday event rendering, enable the optional submodule too:

drush en accessible_calendar_multiday

Usage

  1. Create or edit a View.
  2. Add one or more date fields to the View. You can exclude them from display if needed.
  3. In Format, choose Calendar by month or Calendar by week.
  4. In the calendar style settings, select the date field or fields to use.
  5. Configure the remaining calendar options, such as the first day of the week, title format, or work-week mode.
  6. Under Pager, select the matching calendar pager plugin.
  7. Enable AJAX on the display if you want in-place calendar navigation.
  8. Optionally expose the Jump to filter to let users move directly to a specific period.

Included Views Plugins

Style plugins:

  • calendar_month - Calendar by month
  • calendar_week - Calendar by week

Pager plugins:

  • accessible_calendar_month - Accessible Calendar navigation by month
  • accessible_calendar_week - Accessible Calendar navigation by week

Filter plugin:

  • accessible_calendar_timestamp - Jump to

Accessibility

Accessible Calendar is designed to provide accessible output by default.

  • Calendar updates are announced after AJAX navigation.
  • Focus moves to the calendar caption after AJAX updates.
  • Day cells include hidden summaries to provide day context and result counts.
  • The pager identifies the current period with aria-current.
  • Calendar output uses semantic table markup and dedicated templates.

Multiday Submodule

The included Accessible Calendar - Multiday submodule improves rendering
for events that span multiple days.

When enabled, it adds multiday metadata, classes, JavaScript, and CSS to help render
continuous event segments across cells.

Performance Notes

This module works best when Views filters limit the amount of data returned.

For large datasets, and especially for recurring date data, configure Views filters so
the display only loads a sensible time window around the current calendar period.

Similar Projects

Acknowledgement

Accessible Calendar builds on the lightweight Views-based approach established by Drupal's Calendar View project, with an explicit focus on stronger accessibility, including improved pager semantics, announcements, focus handling, and day summaries. Credit goes to the Calendar View maintainers and contributors, especially Matthieu Scarset, for the original groundwork.

Sponsorship

Development of this module is sponsored by
Tothomweb.

Maintainers

Activity

Total releases
2
First release
Apr 2026
Latest release
1 day ago
Release cadence
0 days
Stability
50% stable

Releases

Version Type Release date
1.0.x-dev Dev Apr 19, 2026
1.0.0 Stable Apr 19, 2026