Release notes · August 31, 2026

RichTextEditor 2.6.0

Layout tables, crash recovery, shadow-DOM support, a web component — and stylesheets that are finally minified.

2.6.0

Layout tables New

A <table> is two different things: one that states relationships a screen reader must announce, and one that only positions content. Only the first was representable. Marking a table as layout now writes role="presentation" and removes the data-table semantics, moving a caption’s text into a paragraph rather than deleting it. No vendor class is written — the role is the whole marker, so exported HTML gains nothing the editor has to own.

This also fixes an accessibility rule that could not be satisfied: table-missing-header fired on every table without a <th>, including layout tables, which must not have one — so an email template produced a permanent error the author could never clear.

Crash recovery New

rte-watchdog.js: an uncaught exception could leave the editing surface half-dead while the page looked fine.

Shadow DOM and a web component New

An editor inside a shadow root now picks up a theme injected as an inline <style> by Vite or webpack’s style-loader — previously that left the toolbar unstyled.

The stylesheets were never minified Performance

We have minified the JavaScript for years and never the CSS. Measured in the published 2.5.4 package: 706 KB of stylesheets shipping with comments and indentation intact, of which plugins/aitoolkit.css alone was 537 KB — larger than the obfuscated rte.js. A .min.css now ships beside every stylesheet: 711,972 bytes down to 385,418, 46% smaller. The readable .css files still ship and are still the ones to edit or override.

Install or upgrade

Grab the latest via npm:

npm install @richscripts/richtexteditor@latest

Feedback & issues: support@richtexteditor.com