Drupal is a registered trademark of Dries Buytaert
Release: Leaflet 10.4.11 Minor update available for module leaflet (10.4.11). Release: Session Inspector 1.0.8 Minor update available for module session_inspector (1.0.8). Release: Migrate QA 2.0.4 Minor update available for module migrate_qa (2.0.4). Release: CKEditor Description List 3.0.0 Major update available for module ckeditor_descriptionlist (3.0.0). Release: FlowDrop 2.4.0 Minor update available for module flowdrop (2.4.0). Release: JWT Token Refresh 1.0.4 Minor update available for module jwt_token_refresh (1.0.4). Release: ConReg 1.0.0-beta1 First beta version released for module conreg (1.0.0-beta1). Release: AI Image Studio 1.0.0-beta8 New beta version released for module ai_image_studio (1.0.0-beta8). Usage Milestone: Role Theme Switcher Module role_theme_switcher crossed 1,000 active installs. Module Revived: Decoupled Router 2.0.7 Module decoupled_router updated after 11 months of inactivity (2.0.7).

This module enhances CKEditor 5's handling of semantic HTML definition lists, preventing unwanted transformations of `<dt>` and `<dd>` elements. It ensures that definition lists are preserved correctly during editing and saving, supporting complex structures and attributes.

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

Tracked releases
5
Tracked since
May 2026
Latest release
2 months ago
Releases (12 mo)
5 ▲ from 0
Maintenance
Active

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