A year of accessibility with Umbraco
Digital Accessibility · Open Source · January 2020
In April 2019, a group of Umbraco developers — Umbracians, as the community calls itself — formed a dedicated accessibility team. The goal: bring the Umbraco back office up to WCAG Level AA compliance. Sigma’s own accessibility specialists were part of that effort from day one. This is the story of what happened over the following twelve months — the pull requests submitted, the changes merged, the challenges encountered, and what we learned about embedding accessibility into an open-source CMS used across more than 700,000 websites worldwide.
The Umbraco community is one of the friendliest in open source. Its informal code of conduct and welcoming culture make it a natural environment for this kind of initiative. But welcoming people is one thing — welcoming people with disabilities into the tools they need to do their jobs is quite another. That was the challenge we set out to address.
13
Pull requests submitted before CodeGarden
700K+
Websites running on Umbraco
AA
WCAG target level
1 in 7
People with a long-term disability
Timeline: How the Accessibility Team Came Together
| Date | Milestone |
|---|---|
| March 2019 | Mike Masey posts a call for an accessibility team on the Umbraco community forum. Sigma’s Rachel Breeze responds immediately, offering UX and QA expertise. |
| April 2019 | The accessibility team formally establishes. A Trello board is created to track issues. An #accessibility channel is set up in the Umbraco Community Slack. |
| April–June 2019 | Danny Lancaster (Sigma) conducts a full accessibility audit of the Umbraco back office against WCAG AA. The team sets a target: 5 pull requests before CodeGarden 2019. |
| June 2019 | The team exceeds the goal — 13 accessibility pull requests submitted before CodeGarden. Key fixes include keyboard navigation, focus management, and ARIA attribute support. |
| Mid-2019 | Umbraco HQ commits to prioritising accessibility requests. The team attends the Umbraco UK Festival Hackathon to support community members making accessibility PRs. |
| Late 2019 | Matthew Wise submits the ngAria module — a single pull request with potentially large-scale impact across the entire CMS, adding native support for ARIA attributes. |
| January 2020 | Side-by-side comparison testing of the back office before and after ngAria. Results show clear improvements in some areas, but further work needed in others. Ongoing Trello board tracks remaining issues. |
What started as a forum post became a structured, community-driven initiative that changed the direction of a CMS used by hundreds of thousands of organisations. The initial goal of 5 pull requests before CodeGarden was surpassed by 160 percent — and the momentum did not stop there.
The ngAria Module: One Pull Request, Massive Impact
One of the most significant contributions came from developer Matthew Wise, who submitted the ngAria module to the Umbraco codebase. This module provides native support for common ARIA attributes — the Accessible Rich Internet Applications attributes that convey state and semantic information to assistive technologies like screen readers. In a CMS where content editors spend hours navigating the back office, the addition of ARIA support has the potential to transform the experience for users with visual impairments, motor disabilities, or cognitive conditions.
We conducted side-by-side comparison testing of the Umbraco back office before and after the ngAria addition. The results were encouraging but honest: the module worked clearly in some areas but produced identical results to the original testing in others. ARIA support is a foundation, not a complete solution. It needs to be built upon with component-level fixes, keyboard navigation improvements, and ongoing testing with real users of assistive technology.
Key Accessibility Improvements Made
| Area | Before | After |
|---|---|---|
| Keyboard navigation | Inconsistent tabbing order, many elements unreachable by keyboard | Logical tab flow through primary interface elements, reduced mouse dependency |
| ARIA attributes | No native ARIA support in the AngularJS framework | ngAria module provides automatic ARIA attribute injection across components |
| Focus management | Focus states unclear or missing on interactive elements | Visible focus indicators on buttons, links, and form fields |
| Screen reader support | Poorly announced interface states, unlabelled controls | Improved semantic structure, labelled form controls, state announcements |
| General back-office flow | Required frequent mouse use, no skip navigation | Significantly better keyboard-only workflow; Umbraco HQ noted reduced mouse dependency even for non-disabled users |
“The keyboard navigation improvements are super helpful even if you don’t have any disabilities. There’s much less need to grab the mouse while doing your Umbraco work, which can help a lot in productivity.”
— Umbraco HQ, on the accessibility team’s keyboard navigation improvements
Why Back-Office Accessibility Matters More Than You Think
When people think about web accessibility, they typically think about the public-facing website — the pages visitors see. But the back office of a CMS is where content editors, marketers, and administrators spend their working days. If the back office is inaccessible, it does not just create inconvenience — it excludes people from employment. A CMS that cannot be operated with a keyboard, navigated with a screen reader, or used by someone with a motor impairment means that certain people are locked out of roles that require content management. For an open-source platform like Umbraco, used by organisations of every size across every sector, this is not a niche concern.
Accessibility also benefits everyone. As Umbraco HQ themselves noted, the keyboard navigation improvements reduced mouse dependency for all users — not just those with disabilities. Faster navigation, clearer focus states, and better-structured interfaces make the software more productive for every content editor. This is the universal design argument in action: solving for the edges improves the experience for the centre.
With an estimated one in seven people living with a long-term disability, and public sector accessibility requirements becoming increasingly stringent, CMS platforms that cannot demonstrate WCAG compliance will find themselves at a competitive disadvantage. Umbraco’s decision to prioritise accessibility — driven by its community rather than imposed from above — is a model for how open-source projects can lead on inclusion. The work is not finished. But the direction is set, and the infrastructure is in place to continue building on it.
What Comes Next
The accessibility team’s work continues. The Trello board tracking remaining issues is public and actively maintained. Community members can contribute pull requests, report accessibility bugs, or join the #accessibility channel on Umbraco Community Slack. Sigma remains committed to this work — as a Gold Partner, our accessibility specialists including Molly Watt continue to collaborate with Umbraco HQ on training, testing, and advocacy. Umbraco now offers a dedicated accessibility course covering accessible HTML, CSS, JavaScript, inclusive design, assistive technologies, and working within the Umbraco environment.
This article was written by Rachel Breeze at Sigma, with contributions from Danny Lancaster, Matthew Wise, and the wider Umbraco accessibility team. Sigma is a Gold Partner of Umbraco and provider of the official Umbraco Accessibility Training course, delivered by Molly Watt.
Frequently Asked Questions
Umbraco and CMS Accessibility
Is the Umbraco CMS accessible out of the box?
Umbraco was not originally built with accessibility as a core design principle. However, since the formation of the community accessibility team in 2019, significant improvements have been made to the back office including keyboard navigation, ARIA attribute support via the ngAria module, improved focus management, and better screen reader compatibility. Umbraco HQ has committed to prioritising accessibility pull requests, and the platform now offers a dedicated accessibility training course. For front-end website accessibility, Umbraco’s flexibility allows developers to implement WCAG-compliant templates, but this requires deliberate effort during the build process.
What is the ngAria module and why does it matter?
The ngAria module is an AngularJS module that automatically provides support for common ARIA (Accessible Rich Internet Applications) attributes across UI components. When added to Umbraco’s codebase, it enables assistive technologies like screen readers to receive semantic information about the state and purpose of interface elements — buttons, form fields, navigation menus, and content panels. Before ngAria, much of this information was missing or inconsistent, making the back office largely unusable for screen reader users. The module represents a foundational change that individual component-level fixes can build upon.
How can I contribute to Umbraco’s accessibility efforts?
There are several ways to get involved. You can join the #accessibility channel on the Umbraco Community Slack at umbracians.chat. The accessibility team maintains a public Trello board tracking open issues and planned improvements — anyone can contribute ideas or pick up tasks. On GitHub, accessibility-related issues and pull requests use the “category/accessibility” label, making it easy to find and contribute to specific work. Even non-developers can help by reporting accessibility issues they encounter in the back office, or by testing pull requests with assistive technologies. The Umbraco community values contributors of all skill levels.
Why does back-office accessibility matter for employment?
Many organisations rely on Umbraco for day-to-day content management. If the CMS back office cannot be used by someone with a visual impairment, motor disability, or cognitive condition, those individuals are effectively excluded from roles that require content editing, publishing, or digital marketing. This is not a hypothetical concern — it directly limits employment opportunities for disabled people. An accessible back office means that organisations using Umbraco can hire from the widest possible talent pool without worrying that their tools will create barriers. It also helps organisations meet their obligations under equality legislation, which increasingly extends to internal systems as well as public-facing services.
