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). 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). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

The Layout Builder Block Headings module enhances site accessibility, lifts design constraints, and empowers site builders and content creators by allowing for the customization of both heading levels and heading styles when block types are configured and when block instances are placed via Layout Builder.

This module is a work in progress and may be very opinionated with help text!

Users are hereby warned that using this module "out of the box" may not make for a generalized solution for all use cases.

Setting up the module

Installation

Install this module via composer.

composer require drupal/layout_builder_block_headings

Configuration

  1. Navigate to a block type.
  2. Add a text field for the heading text, or choose a pre-existing field of choice.

    You might consider making this field formatted text to allow for certain invaluable HTML tags such as <wbr>! The amazing Allowed Formats module can make for a very safe and robust editorial experience!
  3. Add a text list field for the heading level. The option values should be limited to a subset of h1, h2, h3, h4, h5, and h6. Pick allowed values that jive with your theme! For example, it's highly unlikely that h1 is a valid heading level for content creators to choose!
    See Create a field type for "heading level" to track progress on making this safer!
  4. Add a text list field for the heading style. The options can be anything under the sun. Hopefully you have a snazzy design system to plug in?
    See Add support for adding multiple heading styles to track progress on making this more robust!
  5. Head over to the block type edit form and configure the fields and customization options:

Overriding reusable block fields

When adding a reusable block to a layout, depending on how the block type is configured, one or more customization options may now appear.

Advanced configuration

This module can support an infinite number of different heading, heading level, and heading style configurations on a per-block-type basis. It is not uncommon to provide different options for different blocks.

How are you using this module? I'd love to hear about it! Hit me up in slack, I'm lleber.

Activity

Total releases
2
First release
May 2025
Latest release
1 month ago
Release cadence
277 days
Stability
100% stable

Releases

Version Type Release date
1.0.2 Stable Feb 23, 2026
1.0.1 Stable May 22, 2025