Alternative text for images
Alternative text on images allows assistive technology like screen readers to understand the purpose of an image on a page or allows them to skip it if purely decorative.
On this page
On this page
Overview
Text alternatives are a primary way for making information accessible because they can be rendered through any sensory modality (for example, visual, auditory, or tactile) to match the needs of the user. Providing text alternatives allows the information to be rendered in a variety of ways by a variety of user agents. For example, a person who cannot see a picture can have the text alternative read aloud using synthesized speech.
Source: https://www.w3.org/TR/UNDERSTANDING-WCAG20/text-equiv-all.html
Why?
Images can make the web user experience better and more pleasant, especially for users with cognitive and learning disabilities. Not all images used in websites are accessible, and that can be a major barrier. Accessible images are beneficial for everyone, especially for people using screen readers and other assistive technologies, as well as search engine optimization (SEO).
When screen readers come across images, graphs, and icons without an alt
attribute, by default the screen reader will speak the name of the file, which most of the time can be unhelpful (for example: final-final-truly-final-V2.jpg
).
You can read more about why alternative text for images is important in the Web Accessibility Tutorials Guidance on how to create websites that meet WCAG .
Guidelines and examples
Informative and decorative images
To help you determine the best way to communicate the information of an image to a screen reader user, you can use the alt text decision tree provided by the W3C.
Depending the purpose of the images, they can be categorized into one of two categories: informative or decorative images.
- Informative images convey a simple concept or information that can be expressed in a short phrase or sentence. The
alt
text must contain the description of what is displayed visually in the image. - Decorative images don’t add information to the content of a page. For example, an image that is included to make the website more visually attractive. You will always get an affirmative answer to the question "if the image was removed, would the user still get all the information from the page?".
For designers
When you create a new design and it includes images, include captions with a description for each of them. Annotate which images are informative and which ones are decorative.
For engineers
As you're developing a new component, feature, or page that contains an image, use proper semantic HTML and use the <img>
element with proper alternative text using the alt
attribute.
Every <img>
element must have an alt
attribute. It could have content for informative images or be empty for decorative images, but it must always be present.
How to write good alt text
A missing alt
attribute is bad, but an alt
attribute with wrong or useless information is not a better solution. When writing the alt
text of an image, you should always have in mind some rules:
- Keep it short. Avoid long, boring, or irrelevant information. The
alt
text should be the most concise description possible of the image’s purpose. - The alternative text should not include the words "button", "link", or "image". Screen readers already provide that information.
- In textual images (images that contain words that are important to understanding the content), the words should be included in the text alternative.
- Don't fill the
alt
text with keywords. Thealt
attribute is often misused as a place to store SEO keywords or copyright information. - Combine
alt
text with the caption or the content. If the image is sufficiently described in the text (for example, a simple diagram illustrating what's written in the web page text) it can have a briefalt
text such as "A diagram of work flow as described in the body text".
Every img element must have an 'alt' attribute.
Leave the 'alt' attribute empty for decorative.
Don't use an img element without an 'alt' attribute.
You can read more tips in the Web Accessibility Tutorials Guidance on how to create websites that meet WCAG .
Additional resources
- WebAIM Alternative Text
- Deep Dive: Making your images accessible (Only accessible to GitHub staff)
- Accessible Images For When They Matter Most