Drupal’s Accessibility Journey
It's 2022, and the internet is an integral part of our life, but is the web Accessible to all? Sadly the answer to this is no. Yes, we are making progress with the help of the World Wide Web Consortium (W3C), but we still have a long way to go.
The journey for the World Wide Web began in 1999 when W3C introduced the first version of Web Content Accessibility Guidelines (WCAG). It became a generally accepted standard to measure when discussing web accessibility and the information one presents to a user. This helped achieve a certain level of Accessibility to ensure that a website is as useful as possible.
But Drupal's journey towards Accessibility and Inclusion began in early 2011 with the launch of Drupal 7. As an open-source CMS platform, it adheres to Authoring Tool Accessibility Guidelines (ATAG) and WCAG. In their statement on Accessibility, they clearly state -
"As an inclusive community, we are committed to making sure that Drupal is an accessible tool for building websites that can also be accessed by people with disabilities."
Their second Principle is 'Build software that anyone can use.' Accessibility is also one of five "core gates," which is essentially a "checklist" used for evaluating proposed additions to the Drupal codebase.
The effort began with Drupal 7 accessibility improvements and the appointment of the first core accessibility topic maintainers. It was because of Everett Zufelt, the Core's first Accessibility maintainer that the team pledged to ensure that all Drupal core functionalities comply with the WCAG standards. Also, there was an upgrade to the previous version of Drupal core, version 6, to improve accessibility when feasible.
Drupal 7 had the element hidden and invisible to hide content from sighted users and not screen readers. It also had a feature like Skip link that was built into Drupal 7. It was a standard way of hiding content from screen users and screen readers.
The Accessibility toolkit (the a11y module) built exclusive for Drupal 7 helps build user-friendly and accessible sites. It allows for: dyslexic font support, high contrast mode, inverted colors mode and text scaling. It also provides support for simulating specific disabilities. Though just a module, it helps make your website more accessible.
Drupal 7, after its launch, had made Drupal one of the most Accessible CMS, in fact they were the first CMS that tried to build standardized patterns designed explicitly to address common accessibility problems. But, the soon launched Drupal 8 with even better accessibility features.
When Drupal 8 was initially released in 2015, Drupal core was equipped with the Web Accessibility Initiative – Accessible Rich Internet Applications (WAI-ARIA), a guideline of technical specifications established by the W3C to make websites accessible for people with disabilities. A few of these were already a part of Drupal 7. But because the ARIA standard hadn't been finalized during the release of Drupal 7, it was only partly included.
The ARIA landmarks were added to the core themes and core blocks which a screen reader can use to navigate through the website and find out semantically whether you're talking about a menu or whether you're talking about related content or it is the main element. Drupal 8 also had features like ARIA live alerts and ARIA-sort on tables.
As the move to Drupal 8 was happening, Drupal's accessibility maintainers improved contrasts in core themes so people who suffer from color blindness could visit websites. They also made the alternative text for images a required field in Drupal 8, which was part of the ATAG 2.0.
Many accessibility improvements that were made in Drupal 8 were hard to see as it involved semantics. This was major because of HTML5 that was required in Drupal 8. The HTML5 elements in its templates added more meaning to the code as it was easier for assistive technologies to pick up these codes.
Another addition to the Drupal 8 was JQuery UI and CKEditor, which had a number of accessibility improvements. There were also improvements made in the Forms API to add more semantics and ARIA, making it more accessible.
Views UI module, which was moved to the core, has gone through many changes in both UI and Output. This helped use the above-mentioned ARIA-sort feature to make tables more accessible. It also gave the ability to add caption summary in tables and include the header for improved semantics.
Unlike Drupal 7, Drupal 8 did not have elements like hidden and invisible. It was instead using HTML5 coding. This made it easier to hide content from screen readers. Drupal 8 also had a visually hidden field label formatter, which was like a drop-down to specify whether that field label should be visually hidden or not.
Drupal 8 also had features like Tabbing Manager, Drupal announce, Underlined links, and CSS Lint that helped improve the accessibility.
Moving to Drupal 9, the Core is compatible with WCAG 2.0 and ATAG 2.0, which support the development of sites effortlessly. The Drupal announce feature in Drupal 9 has been moved to the Core.
Another major change with Drupal 9 is the new default front-end theme Olivero created for Drupal 9. The theme is WCAG compliant, created in cooperation with the best accessibility experts, and thoroughly tested considering the accessibility feedback. Olivero is named in memory of Rachel Olivero, a stand-out member of the Drupal Diversity and Inclusion community.
Drupal 9 also has the latest version of HTML5 with an especially clean code and screen-reader friendliness. But the most important is Drupal's Core Accessibility Gate, which is required for any core updates. This is a big commitment to accessibility initiatives, ensuring that each new feature is accessible right out of the box.
With the upcoming Drupal 10 it is also important to talk about Olivero and Claro, the new front-end and back-end themes. While the issues with Olivero were solved there are still a few accessibility issues with Claro that need to be solved.
Apart from the changes in Drupal itself, there has been a tremendous change in the Drupal community. The community started focusing on the issue of Accessibility and Inclusion and made it a part of their Principle and Values.
Dries Buytaert, the Founder of Drupal and CTO of Acquia back in 2013 in his blog had said, “As an inclusive community, we are committed to making sure that Drupal is an accessible tool for building websites that can also be accessed by people with disabilities.” This till date is the focus of the Drupal community to make it inclusive for everyone.
They have had an increasing number of sessions to create awareness on how one can make their web page more accessible and why they need to do it. They also have an allocated team that deals with accessibility issues.
Drupal was one of the CMSes represented in the We4Authors Cluster, with other CMSes used by governments in the European Union. They also looking ahead at WCAG 2.2 and WCAG 3.0, with one of their Accessibility Maintainers actively involved in the Working Groups for these guidelines.
In order to emphasize the importance of web Accessibility the Drupal Community have taken the GAAD pledge to formalize accessibility as a core value of their framework. They have joined React Native and Ember JS, previous GAAD Pledgees, as a public open source leader in pushing forward accessibility to the community.
With the upcoming Global Accessibility Day, what more needs to be done to make the websites more accessible?