{"id":15832,"date":"2026-08-03T15:15:30","date_gmt":"2026-08-03T12:15:30","guid":{"rendered":"https:\/\/dhtmlx.com\/blog\/?p=15832"},"modified":"2026-09-02T19:21:23","modified_gmt":"2026-09-02T16:21:23","slug":"maintenance-release-suite-9-3-5-9-3-7-diagram-6-1-6-spreadsheet-6-0-2-richtext-editor-2-1-1","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/maintenance-release-suite-9-3-5-9-3-7-diagram-6-1-6-spreadsheet-6-0-2-richtext-editor-2-1-1\/","title":{"rendered":"Maintenance Release: Suite 9.3.5-9.3.7, Diagram 6.1.6, Spreadsheet 6.0.2, RichText Editor 2.1.1"},"content":{"rendered":"<p>Summer is all about good vibes, and we are delighted to keep the positive momentum going with an overview of the latest maintenance releases for DHTMLX JavaScript components. During July, our team rolled out new patch versions of Suite, Diagram, Spreadsheet, and RichText Editor. Particularly noteworthy are significant improvements in the Suite\u2019s Grid, including advanced keyboard navigation, full WAI-ARIA accessibility support, and numerous performance optimizations. Read on to learn about the details of these Grid updates and fixes delivered in other DHTMLX components.<\/p>\n<h2>DHTMLX Suite 9.3.5 \u2013 9.3.7<\/h2>\n<p><strong>9.3.5 (July 1, 2026)<\/strong><\/p>\n<h3>Updates<\/h3>\n<p>1) Grid. Full WAI-ARIA Accessibility Support:<\/p>\n<ul>\n<li>Implemented a comprehensive accessibility layer compliant with WCAG 2.2.<\/li>\n<li>Added support for <strong>role=&#8221;grid&#8221;<\/strong> and <strong>role=&#8221;treegrid&#8221;<\/strong>, including proper hierarchical attributes: <strong>aria-level<\/strong>, <strong>aria-expanded<\/strong>, and <strong>aria-rowindex\/colindex<\/strong>.<\/li>\n<li>Added descriptive <strong>aria-label<\/strong> attributes for inline editors, filter controls (input, select, combo), and sort triggers <\/li>\n<li>Implemented <strong>Roving Tabindex<\/strong> and focus sentinels for seamless navigation between the Grid and other page elements.<\/li>\n<li>Improved screen reader experience by hiding decorative elements (resizers, sort icons, drag ghosts) from the accessibility tree via aria-hidden.<\/li>\n<\/ul>\n<p>2) Grid. Advanced Keyboard Navigation:<\/p>\n<ul>\n<li>Zone Navigation: Introduced three navigable focus zones: <strong>Header<\/strong>, <strong>Body<\/strong>, and <strong>Footer<\/strong>. Use <kbd>Up<\/kbd>\/<kbd>Down<\/kbd> arrows or <kbd>Tab<\/kbd> to transition between zones.<\/li>\n<li>Global Shortcuts: Added support for <kbd>PageUp<\/kbd> \/ <kbd>PageDown<\/kbd> (page-wise movement), <kbd>Home<\/kbd>\/ <kbd>End<\/kbd> (first\/last cell in a row), and <kbd>Ctrl+Home<\/kbd>\/<kbd>Ctrl+End<\/kbd> (start\/end of the grid).<\/li>\n<li>Selection &#038; Range: Added <kbd>Shift<\/kbd> + navigation keys to extend selection in both <strong>selection<\/strong> and <strong>blockSelection<\/strong> modes.<\/li>\n<li>Editing &#038; Interaction:Added <kbd>F2<\/kbd> as an alternative to <kbd>Enter<\/kbd> for opening editors, <kbd>Space<\/kbd>\/<kbd>Enter<\/kbd> to toggle boolean (checkbox) cells without opening a text editor, and <kbd>Delete<\/kbd> to clear content in <strong>blockSelection<\/strong> mode (when <strong>editable: true<\/strong>).<\/li>\n<li>Header\/Footer Operations: Enabled column sorting via <kbd>Enter<\/kbd>\/<kbd>Space<\/kbd> and multi-sorting via <kbd>Shift<\/kbd>+<kbd>Enter<\/kbd>. Filters can now be activated and navigated via keyboard.<\/li>\n<\/ul>\n<p>3) Grid. TreeGrid Keyboard Patterns:<\/p>\n<ul>\n<li>Added standard tree navigation: <kbd>ArrowRight<\/kbd> to expand branches\/move to children and <kbd>ArrowLeft<\/kbd> to collapse branches\/move to parents.<\/li>\n<\/ul>\n<p>4) Grid. Performance &#038; Internal Optimization:<\/p>\n<ul>\n<li>Optimized selection state tracking by switching from $O(n)$ scans to $O(1)$ lookups.<\/li>\n<li>Implemented caching for derived accessibility properties to maintain high rendering speeds in large datasets.<\/li>\n<li>Improved focus restoration logic to ensure focus returns to the correct cell after closing editors or switching zones.<\/li>\n<\/ul>\n<p>For additional information, refer to <a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/accessibility\/\" rel=\"noopener\" target=\"_blank\">Grid accessibility<\/a> and <a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/configuration\/#keyboard-navigation\" rel=\"noopener\" target=\"_blank\">Keyboard navigation<\/a> guides.<\/p>\n<h3>Fixes<\/h3>\n<ul>\n<li>Grid. Clipboard operations (<strong>copy<\/strong>\/<strong>paste<\/strong>) when working with frozen columns (<strong>leftSplit<\/strong> \/ <strong>rightSplit<\/strong>) (Fixed)<\/li>\n<li>Grid. Row highlighting and dropdown positioning issues within the bottomSplit area (Fixed)<\/li>\n<li>Grid. Improved <strong>:focus-visible<\/strong> styling to ensure focus outlines only appear during keyboard interaction (Fixed)<\/li>\n<li>Tree. A runtime error occurs when removing items in <strong>autoload<\/strong> mode (Fixed)<\/li>\n<li>Window. Positioning and calculation errors during drag-and-resize operations on scrolled pages (Fixed)<\/li>\n<\/ul>\n<p><strong>9.3.6 (July 24, 2026)<\/strong> <\/p>\n<ul>\n<li>Form. The <strong>show()<\/strong> method behavior to prevent overriding flexbox alignment styles with an inline display: block property (Fixed)<\/li>\n<li>Grid. The checkbox click interaction in columns with <strong>type: &#8220;boolean&#8221;<\/strong>, ensuring the state toggles correctly on user click (Fixed)<\/li>\n<\/ul>\n<p><strong>9.3.7 (July 29, 2026)<\/strong><\/p>\n<h3>Updates<\/h3>\n<ul>\n<li>Grid. Significant performance optimizations: improved FPS and scroll smoothness when handling large datasets due to optimized internal rendering and virtualization logic<\/li>\n<\/ul>\n<h3>Fixes<\/h3>\n<ul>\n<li>Form\/Grid. The issue where the numberMask would reset the value to 0 if it started with a leading zero during editing (Fixed)<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/suite\/whatsnew\/#version-937\" rel=\"noopener\" target=\"_blank\">Check the documentation ><\/a> <\/p>\n<h2>DHTMLX Diagram 6.1.6<\/h2>\n<p><strong>(July 1, 2026) <\/strong><\/p>\n<ul>\n<li>Diagram. An error that occurred when loading data into the Diagram via <strong>ShapeCollection<\/strong> (<strong>DataCollection<\/strong>) in the <strong>mindmap<\/strong> mode (Fixed)<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/diagram\/whats_new\/#version-616\" rel=\"noopener\" target=\"_blank\">Check the documentation ><\/a> <\/p>\n<h2>DHTMLX Spreadsheet 6.0.2<\/h2>\n<p><strong>(July 1, 2026)<\/strong><\/p>\n<ul>\n<li>Cell borders disappear after a &#8220;Copy from Excel \u2192 Paste to Spreadsheet \u2192 Export\/Import&#8221; cycle (Fixed)<\/li>\n<li>Data pasted below the last row is not displayed because the grid does not add new rows to fit it (Fixed)<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/spreadsheet\/whats_new\/#version-602\" rel=\"noopener\" target=\"_blank\">Check the documentation ><\/a> <\/p>\n<h2>DHTMLX RichText Editor 2.1.1<\/h2>\n<p><strong>2.1.1 (July 21, 2026)<\/strong><\/p>\n<ul>\n<li>Toolbar tooltips, dropdowns, and fullscreen mode may appear behind other elements due to incorrect z-index handling (Fixed)<\/li>\n<li>Incorrect parsing of nested, mixed-content, and empty lists from HTML (Fixed)<\/li>\n<li>Invalid HTML list structure when exporting or copying nested lists (Fixed)<\/li>\n<li>List indentation and styles are not correctly preserved when parsing and generating HTML (Fixed)<\/li>\n<li>Missing paragraph wrappers when parsing inline content and generic block elements from HTML (Fixed)<\/li>\n<li>Image dimensions defined through HTML width and height attributes are ignored (Fixed)<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/richtext\/news\/whats_new\/#version-211\" rel=\"noopener\" target=\"_blank\">Check the documentation > <\/a><\/p>\n<p><strong>Download the latest versions of our libraries and test them free of charge for 30 days:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/download.shtml\" rel=\"noopener\" target=\"_blank\">Suite trial version<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxGrid\/download.shtml\" rel=\"noopener\" target=\"_blank\">Grid trial version<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSpreadsheet\/download.shtml\" rel=\"noopener\" target=\"_blank\">Spreadsheet trial version<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxDiagram\/download.shtml\" rel=\"noopener\" target=\"_blank\">Diagram trial version<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxRichText\/download.shtml\" rel=\"noopener\" target=\"_blank\">RichText Editor trial version<\/a><\/li>\n<\/ul>\n<p>For current customers, the updated packages are available in their <a href=\"https:\/\/dhtmlx.com\/clients\/\" rel=\"noopener\" target=\"_blank\">Client\u2019s Area<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summer is all about good vibes, and we are delighted to keep the positive momentum going with an overview of the latest maintenance releases for DHTMLX JavaScript components. During &#8230;<\/p>\n","protected":false},"author":101014,"featured_media":15838,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[33,58,6,61,34,10],"class_list":["post-15832","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-releases","tag-all-posts","tag-diagram","tag-dhtmlxgrid","tag-richtext","tag-spreadsheet","tag-dhtmlxsuite"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/15832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/users\/101014"}],"replies":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/comments?post=15832"}],"version-history":[{"count":6,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/15832\/revisions"}],"predecessor-version":[{"id":15839,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/15832\/revisions\/15839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/15838"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=15832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=15832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=15832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}