Drupal is a registered trademark of Dries Buytaert
drupal 10.6.11 Update released for Drupal core (10.6.11)! drupal 11.3.12 Update released for Drupal core (11.3.12)! drupal 11.2.14 Update released for Drupal core (11.2.14)! drupal 10.5.12 Update released for Drupal core (10.5.12)! cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)!

Features

CKEditor 5 Definition List Fix improves support for semantic HTML definition lists in Drupal's CKEditor 5 integration.

By default, CKEditor 5 may transform or normalize definition list markup in unexpected ways, including:

Converting <dt> elements into paragraphs
Inserting unwanted

tags inside <dt> or <dd>
Altering valid semantic definition list structures during editing

This module provides a lightweight CKEditor 5 plugin that preserves proper definition list markup while editing content.

Features include:

  • Preserves
    <dl>
        <dt>
            Term
        </dt>
        <dd>
            Description
        </dd>
    </dl>

    AND ALSO

    <dl>
        <dt>
            <p>Term</p>
        </dt>
        <dd>
            Description
        </dd>
    </dl>

    elements in CKEditor 5

  • Also preserves <dl>, <dt>, and <dd> elements in CKEditor 5
  • Preserves this markup
    <aside class="wb-fnote" role="note">
    <h2 id="fn">Note</h2>
    
    <dl>
    	<dt>Note 1</dt>
    	<dd id="fn1">
    	<p>Lorem ipsum quarum</p>
    	<p>Examples:</p>
    	<ul>
    		<li>equipment required</li>
    		<li>an inspection required</li>
    	</ul>
    
    	<p class="fn-rtn"><a href="#fn1-rf"><span class="wb-inv">Return to footnote </span>1<span class="wb-inv"> referrer</span></a></p>
    	</dd>
    </dl>
    </aside>
  • Prevents unwanted paragraph insertion inside <dt>
  • Supports semantic HTML definition lists
  • Preserves semantic <i> elements during editing and saving
  • Prevents unwanted <em> from wrapping <i lang="la">et cetera</i> insertion inside <dt> elements
  • Works directly inside the CKEditor 5 editing experience
  • Lightweight implementation with no external libraries required
  • Compatible with Drupal 10 and Drupal 11

Typical use cases include:

  • Accessibility-focused websites
  • Government and enterprise websites
  • Technical documentation
  • Glossaries and dictionaries
  • FAQ layouts using semantic HTML
  • Structured editorial content

Post-Installation

After enabling the module:

  1. Go to: Administration » Configuration » Content authoring » Text formats and editors
  2. Edit the text format where CKEditor 5 is enabled.
  3. In the CKEditor 5 toolbar configuration, enable: Definition List Fix Plugin
  4. Save the text format configuration.

The module works automatically after the plugin is enabled for a text format.

No additional configuration pages are required.

Example supported markup:

<dl>
  <dt>Term</dt>
  <dd>Description</dd>
</dl>

AND

<i lang="la">et cetera</i> (without the em element)

The module is designed to preserve valid semantic definition list markup during editing and saving.

Additional Requirements

No additional modules or external libraries are required.

Requirements:

  • Drupal 10 or Drupal 11
  • CKEditor 5 (included with Drupal core)

The following modules may complement this project depending on your use case:

Documentation

README.md

Activity

Total releases
5
First release
May 2026
Latest release
1 week ago
Release cadence
9 days
Stability
60% stable

Release Timeline

Releases

Version Type Release date
1.0.2 Stable Jun 12, 2026
1.0.1 Stable Jun 5, 2026
1.0.0 Stable May 20, 2026
1.0.0-rc1 Pre-release May 8, 2026
1.0.x-dev Dev May 8, 2026