Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module allows you to customize heading levels and styles for blocks placed using Layout Builder. It improves accessibility and design flexibility for site builders and content creators.

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
4 months ago
Releases (12 mo)
1
Maintenance
Active

Releases

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