Skip to main content
Seu navegador é antigo demais para exibir este site corretamente. Atualize para a versão mais recente do Chrome, Edge, Firefox ou Safari.
Back to WCAG Database
Level AWCAG 2.0

1.1.1 Non-text Content

All non-text content that is presented to the user has a text alternative that serves the equivalent purpose.

Last reviewed: September 9, 2026

Understanding 1.1.1

The intent of this Success Criterion is to make information conveyed by non-text content accessible through the use of a text alternative. 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.

How to Meet It

Ensure every `<img>` has an `alt` attribute. If the image is decorative, use `alt=""`. For complex images like charts or graphs, provide a detailed description in the surrounding text or via an `aria-describedby` attribute.

Code Examples

INCORRECT
<img src="submit-button.png" />
CORRECT
<img src="submit-button.png" alt="Submit Form" />
INCORRECT
<img src="decorative-swoosh.png" alt="blue decorative swoosh" />
CORRECT
<img src="decorative-swoosh.png" alt="" /> <!-- Decorative images must have empty alt -->

Frequently Asked Questions

Does every single image need descriptive alt text?

No. If an image is purely decorative and provides no information or context, it should have a null or empty alt attribute (alt=""). This tells screen readers to ignore the image so it doesn't clutter the user's experience.

How long should alt text be?

Alt text should be as concise as possible while conveying the essential meaning or function of the image. Generally, keep it under 125 characters, as some screen readers break long alt text into chunks.

Quick Facts

  • Criterion1.1.1
  • LevelA
  • IntroducedWCAG 2.0

Automate Compliance

AccessiSight automatically scans and identifies 1.1.1 issues in your codebase.

Try Scanner Free