/accessibility

A central resource for knowledge relating to accessibility

Apache License 2.0Apache-2.0

Accessibility

We define accessibility as:

the degree to which something is usable by as many people as possible

Getting Started With Accessibility

This guide is intended to give you a basic understanding of what accessibility is, why it matters, and the fundamental things you need to know in order to build web pages and apps that are accessible to everyone.

What do we mean by ‘accessibility’?

Everybody has access needs. If you want to go to a shop, it needs to have a front door; if you want to look at a website, it needs to load on your phone or computer. If a shop’s front door is locked, or a website doesn’t load on your device, your ability to access the things you want has been limited.

Accessibility is all about making sure that the things we build and the services we provide can meet the access needs of the widest possible range of people, especially disabled people. Guardian journalism should be open to everyone, our internal tools should be accessible to all our colleagues, and we want to make sure that we don’t accidentally create barriers to people with differing needs.

What access do we need to provide?

While this isn’t an exhaustive list by any means, there are a number of common access needs and assistive technologies that are most likely to affect the development of web interfaces, and that we need to be aware of.

Screen readers

Blind and visually impaired people often make use of a screen reader when using a computer or smartphone. A screen reader is a piece of software that provides a spoken interface for everyday websites and apps. Screen readers read text, announce interactive elements such as buttons or form fields, allow speedy navigation around different sections of a page or app, and generally allow users to operate effectively without needing to rely on a visual UI.

Magnification

People with visual impairments may need to make text and other aspects of a user interface appear larger in order to see it better, whether by using an external screen magnifier or by using built-in zoom or font size adjustment functions.

Keyboard accessibility

For some people it’s much easier and more comfortable to operate a computer without using a mouse or trackpad. Keyboard shortcuts provide a way of getting around user interfaces without having to move a pointer to select, click, etc.

Use of colour

All kinds of access needs may rely on the appropriate use of colour in user interfaces. People with different kinds of colour blindness may require additional detail where colours are being used to convey information. The way that text contrasts against its background can make the reading experience better or worse for people with low vision or dyslexia, or people operating their device in direct sunlight. The ‘busyness’ and vibrancy of colours can present difficulties for people on the autism spectrum.

How do we do it?

Building accessible interfaces doesn’t have to involve huge feats of technological prowess! Browsers are built to work with screen readers and keyboard navigation, and modern operating systems have many accessibility options to allow people to customise the UI according to their own needs. What’s important for us as developers is to understand and work with these built-in tools and not get in their way.

Above all, the most important thing in accessibility is empathy. In the tech industry, we are largely people of similar ages, backgrounds and abilities, and often this means that we end up creating products for people just like us, forgetting that other people may have requirements that differ from our own. Building things for people whose access needs are different from your own involves taking the time to think about things from their perspective. You should test the products you build using different technologies to get a sense of what it’s really like to use them day-to-day. Even small changes and improvements can have a big impact when we approach our work with empathy for our users and a desire to broaden access for everyone.

How can I find out more?

The Supporting Resources document in this repo has a lot of great links to help you build a deeper understanding of topics around accessibility. We have a set of guidelines and suggested tools for developers in the Product and Engineering document. You can also take a look at our resources and activities for Global Accessibility Awareness Day.

To help build the skills you need to develop accessible websites, we recommend this course from the W3C on EdX (currently free to audit). It's based on the W3C's open curricula and is aimed at developers, designers, project managers and more.