Skip To Content

Web Accessibility Using a Content Management System

It is no surprise that accessibility is an increasingly important consideration when searching for a new content management system (CMS), but what may be surprising is just how little the CMS itself matters.

When comparing different systems, it is tempting to look at what the default install provides in terms of the ability to create and display accessible content, but this is less useful than it seems. In my experience, very few businesses use a CMS in its out-of-the-box form. What matters most is how you customize the experience and how you train your editors. In that regard, very few systems will stand in your way (or help you).

In this article, I will be exploring how to approach configuring your CMS to empower editors to make accessible content.

Why Accessibility Matters

Taking a step back, why is it important to have accessible content? I have written about this topic before but in short:

  1. For marketers, it expands your potential audience to include the roughly 25% of global internet users with a disability, making it your highest impact optimization strategy.
  2. For employers, it empowers workers and enables more work to be done efficiently (and remotely).
  3. It improves search engines indexing your site and other types of machine-reading.
  4. The law requires it.
  5. It is the moral and ethical thing to do.

Content Modeling

What kind of content do you have and how is it managed are the fundamental questions for any CMS. The answer, however simple or complex, is a model of your content and its relationships (aka “content model”) that drives everything the CMS can and cannot do. This structure is the first place to think about accessibility because this is the core upon which you will layer all your interactions. The structure can make the creation of accessible content nearly automatic, or nearly impossible. Again, this process is platform agnostic, although the mechanics of implementing it will vary across systems.

Modeling for accessibility can make it easier to implement a well-structured content ecosystem because it provides strong, prescriptive guidance that dovetails directly with general best practices regarding metadata, separation of concerns, and reusability. The earlier you put these practices into your planning, the less you will have to account for in the future.

Aside on Headless

There is an argument that headless content management systems are inherently better and easier for accessibility and content reuse. While I do not agree with that from a technology perspective, the “clean break” you get with a new type of platform certainly makes organizational change and training easier. The perception that something is new and different opens people up to new ways of thinking. In this case, headless forces you to create a thoughtful content model because there is no default “page paradigm” to fall back on, however, there is nothing to prevent you from doing so in a traditional CMS (our clients do it every day). Content modeling is nothing new, but it is more important than ever for it to be done explicitly in the latest traditional and headless content management systems.

Approach Guidelines & Principles

When structuring your content, it can be useful to approach it by designing the content authoring experience. You cannot have accessible content without the ability to create it and deciding what is in the purview of the editor versus the logic of the systems is central to creating accessible and predictable systems. Fundamentally, we want to decrease variance by minimizing the number and complexity of decisions editors need to make while supporting them to make consistent judgments where needed.

Best Practices for (Accessible, Editor-Focused) Content Management

The two most common accessibility-related items any CMS will have to address are image alternative text and button/link labeling, so we will focus our tactics on those items.

Provide decision support via in-context help.

Training is most effective when complemented by moment-of-decision support. Providing editors with context-sensitive help both assists decision making and reinforces any standards you have developed. Most content management systems allow custom help text to be displayed for any field.


Entire books could be written about the appropriate use of alt text. As such, it is helpful to provide a short reminder of how to determine if an image needs alt text, and if it does, what it could be. For buttons and links, guide the user to add aria-label text if the purpose is not apparent from the text alone.

Require the absolute minimum subjectivity from editors.

Every decision by an editor is a potential variance or error, each of which chips away at long-term consistency creating “content debt.” If you have ever had to reformat content between systems, this is a symptom of content debt. Editors should be free to focus on content and insulated from decisions that can be made at the system level.
Here are a few tips:

  • Prefer fields that present options rather than free-form entry. Unnecessary free-form text entry is the #1 enemy of well-structured content.
  • Hide unnecessary fields
  • Use conditional logic to show and hide relevant fields based on choices made by the editor.
  • Prefer to use code or business rules to automate common tasks, rather than assigning fields to the editor.

These tactics not only make the content creation process simpler and faster, but also results in more streamlined, consistent, and future-proof content.

(Controversial) Example:

A common dictate is that “all images should have the option for alt-text,” but this is more accurately stated as “all images should have the option for alt-text, if appropriate.If the structural purpose of the imagery is decorative, there should not be an option to assign alt-text and there should not be an alt-text field, as this invites misuse. Alternatively, if an image may or may not be meaningful content, the ability to specify alt-text is imperative. Likewise, if a button could always be appropriately labeled programmatically, you should do so, at least as a default.

Do not repeat anything if you can help it

An editor should never have to enter the same information multiple times. It is annoying, creates variance, and makes extra work. There are commonly three situations where this arises:

  • Problem: A value is usually the same, but might be different, often for SEO reasons, like “Page Name”, “Page Title,” “OG/Facebook Title,” and “Twitter Title”
  • Solution: Configure these fields as optional overrides and explain the cascade using help text.

  • Problem: A value is always the same but is used by different parts of the system. This is often a holdover inherited from a previous migration (“content debt”).
  • Solution: Tie these fields together behind the scenes and hide the duplicates from the editor.

  • Problem: The content in question exists in another content item, but there is no way to reference it systematically, like having an “Author Name” field on an article when you also have an author profile content type.
  • Solution: Leverage content types and relationships to avoid duplicated data. Not only is this more efficient, but it is also more flexible, enabling all sorts of future reuse and remixing based on the relationships between types of content.

Developing an Accessibility-Forward CMS Implementation

Building the right degree of structure into your modeling involves some discrete developmental steps:

  1. Assessing the human interface structure, inside and outside
    • This means examining interaction with your content on all levels, from the inside (developers, marketers, producers, etc.), to outside and from top to bottom
  2. Identifying the decisions users will face in their interaction with your digital experience
    • From identification of content parts and pieces to background SEO and other optimization practices, where will your users be asked for their input? Remember, content creation and consumption must both be skill-level agnostic to offer a universally friendly experience.
  3. Coding decisions to build highly structured content models, from the start
    • Highly structured content not only lends itself to more accessibility, but it is also by nature more easily automated, making your content more output agnostic - a de facto best practice across the industry (especially now, as we see new and more advanced ways to consume content presenting themselves just about every day).
  4. Applying only the absolute necessary level of subjectivity to each part and piece of content
    • Making the content creation process as simple as possible not only increases accessibility, but also results in content that is much more consistent, infinitely recyclable, and device and platform agnostic.
  5. Providing educational support to users and consumers
    • Accessibility is fundamentally a function of education. It takes some degrees of contextual experience to see and feel when accessibility is an issue, but you will always know something is missing when you need it. The problem is not naturally knowing you need it.
  6. Optimizing continuously
    • Listening to feedback from consumers as well as creators can provide a constant accessibility optimization roadmap that will help improve your overall digital experience for years to come.


After the content itself, the structure is king when it comes to flexibility in content management systems. With a high degree of structure baked in from the beginning, your content ecosystem will be much less complex, and available to many more marketing options. This also means that accessibility tools like screen readers, audio assistants, AI interfaces, and the like will provide your content and message with the same consistency as tablets, phones, and watches - or virtually any output environment. Creating this level of consistency not only helps everyone outside your organization by making access to information simple, holistic, and useful, it also enhances your entire digital marketing experience - which translates to more success on every level.