Editoria11y v2: Building a Drupal-integrated Accessibility Checker

John Jameson

Editoria11y v1 filled an unmet need for Drupal: a robust but still intuitive accessibility checker that worked like magic.

For all its code, it was also fairly straightforward under the hood: lots of jQuery and IF statements!

For Editoria11y v2, I had a lengthy wishlist:

* Learn to let go of the jQuery dependency
* Let the user dismiss yellow alerts...and synchronize the dismissal with other users
* Let Drupal collect findings into site-wide reports
* Be able to check really complex HTML, with multiple content root containers and shadow DOM components.
* Leverage Drupal translations
* Add some basic automated testing so I'd stop randomly breaking stuff

The catch? Everything on that list was something I did not know how to do.

But here we are, thanks to a long list of mentors and a lot of trial and error.

So let us take a it's-new-to-some-of-us, down-with-imposter-syndrome tour of the techniques it takes to build a complex Web application out of Vanilla JS, Drupal APIs and Shadow DOM.

Drupal is a registered trademark of Dries Buytaert.