I’d like to begin by saying most people will not notice any significant difference between Webform 8.x-5.x and Webform 6.x because most of the noteworthy changes are happening under the hood to APIs and configuration: there was a bump in the Webform module's road to Drupal 9, which helped fix subclassing and stop the overriding constructors. This change became the initial commit to the Webform module's 6.x branch. Most of the subsequent commits to the Webform 6.x branch addressed the removal of deprecated code plus some minor tweaks to settings and options.

Removing the Webform module's dependency on jQueryUI

The most noticeable change in Drupal 9 and Webform 6.x is most jQuery UI asset libraries are deprecated and moved to contrib modules. The Webform module was using the jQueryUI's Tabs, Tooltip, and Date picker plugins. Although I considered keeping the requirement of these plugins using Drupal's corresponding jQueryUI modules, after some nudging from the Drupal community, I decided to replace the jQueryUI Tabs and Tooltip and make the jQueryUI Date picker an optional dependency.

The jQuery UI Tabs plugin was replaced with Tabby, a lightweight, accessible vanilla JS toggle tabs library. Since tabs only appear within the Webform module's admin UI, I felt that Tabby was the most straightforward solution without having the Webform module provide its own tabs implementation.

Below is a screenshot of Tabby in the Webform module's user interface.

Replacing the Read More