Integrating Accessibility in Open Source Projects

Victoria Ottah
9 min readJun 11, 2024

--

For most applications, accessibility is often an afterthought. There is usually an omission of accessibility and its implementation in open-source projects. Integrating accessibility in open source is not just a moral imperative but a great strategy. It has proved to be a great way to promote diversity and inclusion.

By the end of the article, open source contributors and accessibility enthusiasts will understand the role accessibility plays in making open source projects inclusive and the practical steps contributors can take to integrate accessibility in open source. This article will also help readers understand the unique challenges faced by users with disabilities and provide practical solutions to address them.

Open-source projects rely on volunteer work. Open-source contributions refer to volunteering to design, develop, document, or generally improve open-source software. Open-source software has codes that are made available for the public to use and modify. Open-source activities extend to events, outreach, workshops, and the community.

People who volunteer in open-source projects are called open-source contributors. Some communities actively engage in open-source projects and the health of the volunteers. These communities are called Open-source communities.

Activities carried out in open-source contributions must accommodate all users, especially users with disabilities. This further reiterates the importance of accessibility in open source.

Why is Accessibility important in open-source?

Accessibility is important in everything, both digitally and physically. Open source is one of the many aspects where accessibility is necessary. Every user must be accommodated when building products.

Here are some reasons accessibility is important in open source.

  • It promotes Diversity, Inclusion, and Equity in communities.
  • It caters to all users regardless of their abilities
  • It encourages comprehensive feedback when carrying out research and testing on the open-source software
  • It is a legal requirement for products built for the public to pass accessibility compliance.

How to Contribute to Accessibility in Open Source

People have the misconception that open-source contributions are made for only the developers. This notion is continually proven false by many working groups working together to make open-source projects successful. Some groups include Design, documentation/writing, Research, Content, and even the communities.

Accessibility is a fundamental aspect of technology that ensures the success of open-source projects. There are numerous ways to contribute to open-source.

Design:

Every designer has the responsibility of creating accessible designs. This pertains to every aspect of design. Many designers have the perception that accessibility is meant for only an aspect of design, like the UI or UX designers. However, this is not the case. All fields in design have a role to play in accommodating the marginalized while creating designs

In open-source projects, many designers contribute to different areas of design like brand design, graphic design, interaction design, user research, user experience, user interface, type, brand illustration, and so on. All these areas have their requirement for designing accessible materials. Ways designers in open source can integrate are discussed below.

UI Designer

A UI designer contributing to open source is responsible for the front end of the product and its visual design. These designers incorporate the design principles in their work, using appropriate elements to bring the products to life. UI designs create screens of a product. They can also design open-source or community plugins that foster accessibility.

UI Designers also collaborate with other designers, the content team, and the developers. Collaborations of all kinds require proper accessible principles to ensure ease of work. Some of the rules to follow adhere to include the following:

  • Use Clear layout and Design; Clear Structure of headings, paragraphs, tables, and forms
  • Use color palettes with good Contrast
  • Create Large links, Buttons, and Controls
  • Use Labels and proper affordances to describe designs
  • Use the right font type and size for different screen choices, and make them Adjustable.
  • Provide appropriate descriptions, Transcripts, and Closed Captions for visuals and videos
  • Provide media and media players with an option to pause, stop, and adjust the audio
  • Provide ALT texts and incorporate effective use of images, illustrations

UX Designer/ Researcher

UX designers work on the usability and workability of a product, and the work is the same for open-source products. These designers are often researchers. They relate with the target audience and use their findings to ensure the product has a good user experience.

Accessibility and inclusion are crucial parts of a good user experience. Accessibility gives users their independence. Any product that implements accessibility and allows inclusion, is on a good track for usability and a good used experience.

Some principles to improve the usability and accessibility of products include the following.

  • Inclusion of people with disabilities in User Research
  • Users with Disabilities should participate in A/B testing
  • The market should accommodate feedback from people with varying abilities
  • Research results of marginalized users must be implemented. The idea that they are the minority is inconsequential.

UX writer

  • Write Clear, understandable, and straightforward content. Content does not need to be too long. It affects users with cognitive disabilities.
  • Notifications and feedback must be clear, and not confusing. Users need to know they are doing the right thing at every step of their product interaction.
  • Always make error messages available and understandable.

Brand Designer

Brand designers are usually in charge of building and designing identities for a brand. These identities communicate the language and personalities of the brand. Many products depend on a good brand identity to relate with their users, and open-source software is no exception.

A brand designer can implement accessibility via the following;

  • Create Brand Colors that allow for good contrast
  • Carry out inclusive market research and be diverse with feedback
  • Choose a legible typography
  • Make the Brand voice simple and not complicated. it should be understandable
  • Create familiar Assets like icons and illustrations for the brand, ensure they are not difficult for users to recognize
  • Create Poster designs with better layout structures and setup

Software development

Code contribution in open source is one of the popular ways to contribute to open-source projects. These contributions are often made on the GitHub platform. On GitHub, contributors manage, store, and track the code changes. Many developers can collaborate on GitHub simultaneously, making an impact one code at a time.

As a code contributor on a public platform, it is important to learn how to implement accessibility when writing code. This leaves room for less rigorous edits and reviews, making the work more interesting. Like any tech skill, the fundamentals are an essential part of a project. An efficient way to implement accessibility as a software developer is to use semantic HTML and tags

Using the appropriate tags where necessary makes the code accessible. When codes are written to build the document object model DOM and graphic user interface GUI, the work does not end there. The browser goes a step further to create an accessibility tree. The accessibility tree is the view users who do not perceive the website through sight access information on the web.

The accessibility tree creates a structure of roles, names, and states that describe the tags for users to understand. The accessibility tree only recognizes semantic tags. When semantic HTML is not used, the accessibility tree is not able to communicate the code.

Description: A pictorial illusion of the building block of HTML, DOM, and the accessibility tree

This tree provides information in a format that assistive technologies like screen readers, eye-tracking devices, and text-to-speech devices can understand. Many users with disabilities access the web using assistive technologies. When codes are not accessible, the web becomes difficult to use and this translates to a bad experience.

Some steps to integrate accessibility as a software developer

  • Implement Designs as sent by the Designers especially when designers also implement accessibility
  • Incorporate Text Wrapping
  • Ensure screen have have Focus point when users move from one action item to another
  • Keyboard accessibility; Implement affordances, Use semantic HTML elements
  • Ensure your code is accessible to assistive technologies like screen reader and Braille
  • Use ARIA (Accessible Rich Internet Applications) when tags required to an element are unavailable.

Documentation

Documentation is a crucial facet of open-source contribution. Technical articles, tutorials, and documents are drafted in documentation. These documents guide users through understanding a project. They break down the structure and functions of the project. Project documents contain the history, makeup, and process of the project. Documentation relieves the user’s cognitive load and clarifies the users, helping them with risk management and decision-making.

Important steps that are taken to make a document accessible.

  • The first step is to use an accessible tool. This works in open-source projects. The common tool used is Github, which uses a markdown writing format and is accessible. Other accessible tools include Microsoft Word, which has an accessibility checker embedded in the product.
  • Use clear words that users can understand. Explain technical terminologies even if the document is a technical article.
  • Explain acronyms and write words in full. Shortened words can confuse readers.
  • Psychologist John Sweller’s theory of “cognitive load” states that it is challenging for our brains to store and process so much information at a time. This should be considered during documentation so that users are not stressed instead of being helped.
  • Employ the use of editing tools to ensure correct grammar and spelling
  • Get feedback from actually targeted users and make the research diverse, including users with disabilities
  • Avoid publishing scanned written documents. They are not accessible
  • Always make documents available in different formats. This is a way to implement accessibility

Event and Workshop

Participating in open-source events is another way to contribute to open-source communities and projects. As an open-source contributor, there are many ways to participate in events and workshops. Speaking at events, volunteering at events, and working on a research team that gathers feedback is very effective.

Hosting outreach programs for people with disabilities that aim to introduce people with disabilities to open-source is a great way to contribute. Ensuring open-source and tech events are accessible and inclusive is also effective in implementing accessibility in events. Proper plans are to be made to provide accessible venues and a generally accessible experience and environment(including the restrooms and parking spaces) for a diverse audience.

Contributors can volunteer to work with and assist these attendees in the event. They can also volunteer to speak about accessibility, advocating, and creating awareness. Finally, the research team should be ready to get feedback from the attendees. This allows an opportunity for improvement and adjustment.

Community management

Every community needs a community manager, and open-source communities are no exception. A community with a diverse demographic of members must consider implementing accessibility to ensure the accommodation of all members.

Some ways to do this.

  • Use generally accepted language to communicate with members
  • Implement empathy in communication
  • Be patient with contributors
  • Be ready to collaborate with contributors

Accessibility Audit

This is an aspect of software testing and quality assurance that audits and checks software to ensure it follows web accessibility guidelines and accommodates all users and their limited abilities. It extends beyond products to documents and designs.

Accessibility audits and testing of projects are essential in open-source projects. Just like bugs are detected and corrected to improve the usability of software, errors are checked and corrected to improve the accessibility of the product.

These tests can be conducted manually using a keyboard, screen readers, braille, and any other assistive technology. It can also be automated using evaluation tools. Some evaluation tools are used to check color contrast, font or alternative to text. The accessibility checker is used to record and report the test results carried out on the product. They can be web or mobile tests.

Accessibility in open source does not merely involve meeting standards or marking boxes. It’s about recognizing diverse users with varying needs and ensuring that everyone, regardless of their limitations, is included. Ensure they can participate in open-source contributions and benefit from open-source projects. When accessibility is integrated as a core principle, usability is improved. This fosters diversity, inclusion, equality, and empowerment within the open-source community.

--

--

Victoria Ottah

Proud Black Fro Queen| Product Designer | Accessibility Advocate| AI | Microbiologist