Skip to content

WCAG for Content — Writing and Editing for Compliance

DodaTech Updated 2026-06-28 5 min read

In this tutorial, you will learn about WCAG for Content. We cover key concepts, practical examples, and best practices to help you master this topic.

Content creators achieve WCAG Compliance through descriptive alt text for images, plain language at lower secondary reading level, descriptive link text, clear headings, accessible tables, and error messages that suggest fixes.

What You'll Learn

You will learn the specific WCAG requirements that content creators must meet and how to write accessible content.

Why It Matters

Content is the reason users visit your site. If the content is not accessible, the whole purpose of the site is undermined.

Real-World Use

DodaTech's content team follows a WCAG content checklist: alt text for every image, plain language for all user-facing text, descriptive link text, and error messages that explain and suggest.

flowchart TD
  A[WCAG for Content] --> B[Alt Text]
  A --> C[Plain Language]
  A --> D[Link Text]
  A --> E[Headings]
  A --> F[Tables]
  A --> G[Error Messages]
  B --> H[1.1.1: describe content and function]
  C --> I[3.1.5: lower secondary reading level]
  D --> J[2.4.4: destination is clear]
  E --> K[1.3.1: logical hierarchy]
  F --> L[1.3.1: proper header cells]
  G --> M[3.3.3: identify and suggest fix]

Alt Text

1.1.1 Non-text Content

All non-text content must have a text alternative. Informative images need descriptive alt. Decorative images need empty alt.

How to Write Alt Text

Describe the content and function of the image. What information does it convey? What is its purpose on the page?

<!-- Good: descriptive alt for chart -->
<img src="growth-chart.png" alt="Line chart showing user growth from 10,000 in January to 50,000 in June 2026">

<!-- Good: alt for link image -->
<a href="/report.pdf">
  <img src="pdf-icon.png" alt="Download 2026 security report (PDF, 2.4 MB)">
</a>

<!-- Good: decorative image -->
<img src="divider-line.png" alt="">

Plain Language

3.1.5 Reading Level (AAA)

Content should be written at or below lower secondary education level. Use short sentences, active voice, and common words.

Plain Language Tips

One idea per sentence. Use you and we to speak directly. Define technical terms. Avoid jargon, idioms, and metaphors.

<!-- Before: jargon-heavy -->
<p>Please utilize the configuration panel to initiate a comprehensive threat assessment of your system.</p>

<!-- After: plain language -->
<p>Open Settings to start a full security scan of your computer.</p>

The purpose of each link must be determinable from the link text alone or from the link text combined with its context.

<!-- Bad: nondescriptive -->
<p>Click <a href="/report">here</a> to download the report.</p>

<!-- Good: descriptive -->
<p><a href="/report">Download the 2026 security report (PDF)</a></p>

Headings

1.3.1 Info and Relationships

Headings must be marked up with h1 through h6 elements and maintain a logical hierarchy.

<!-- Good: logical heading hierarchy -->
<h1>Durga Antivirus Pro Guide</h1>
  <h2>Installation</h2>
  <h2>Running a Scan</h2>
  <h3>Quick Scan</h3>
  <h3>Full System Scan</h3>

Tables

1.3.1 Info and Relationships

Data tables must use th elements for header cells and scope attributes to associate headers with data cells.

<table>
  <caption>Threats detected by month</caption>
  <thead>
    <tr>
      <th scope="col">Month</th>
      <th scope="col">Threats detected</th>
      <th scope="col">Neutralized</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">January</th>
      <td>145</td>
      <td>143</td>
    </tr>
  </tbody>
</table>

Error Messages

3.3.3 Error Suggestion (AA)

Error messages must describe the problem and suggest a fix.

<!-- Bad: unhelpful error -->
<p class="error">Error 0x87E10BD0</p>

<!-- Good: helpful error -->
<div role="alert">
  <p>The email address you entered is missing the @ symbol.</p>
  <p>Please enter a valid email address like: name@company.com</p>
</div>

Common Mistakes

1. Writing Alt Text like Images Are Not Needed

Alt text that says image of or photo of adds no value. Describe the content.

2. Using Complex Language

Technical jargon and long sentences overwhelm users with cognitive disabilities. Write at a grade 8 reading level.

3. Linking to Here or Read More

Screen reader users navigate by links. Click Here tells them nothing about the destination.

4. Skipping Heading Levels

Jumping from h2 to h5 breaks screen reader navigation. Headings must descend in order.

5. Creating Complex Tables

Tables with merged cells, no headers, or missing scope are inaccessible. Keep tables simple.

6. Writing Vague Error Messages

Something went wrong is unhelpful. Tell the user what went wrong and how to fix it.

7. Not Testing Content with Users

Content that seems clear to you may be confusing to others. Test with users who have cognitive disabilities.

Practice Questions

1. What WCAG criterion covers alt text?

1.1.1 Non-text Content (Level A).

2. What reading level is recommended for plain language?

Lower secondary education level (approximately grade 8 or age 14).

3. What is required for link text under WCAG?

The purpose of the link must be determinable from the link text alone or in context.

4. How should data tables be marked up for Accessibility?

Use th elements for header cells with scope attribute. Include a caption element.

5. Challenge: Rewrite a paragraph from your website in plain language. Aim for a grade 8 reading level. Use a readability checker to verify.

FAQ

Do I need alt text for every image?

Every image needs an alt attribute. Informative images need descriptive alt. Decorative images need empty alt.

How long should alt text be?

As short as possible while conveying the same information. Complex images like charts may need a longer description.

Can I use click here as link text?

No. WCAG requires descriptive link text. Click here tells screen reader users nothing about the destination.

How do I check reading level?

Use the Hemingway Editor or the Flesch-Kincaid readability test built into most word processors.

Should error messages include technical codes?

Include the user-friendly message first. Technical codes can be included in parentheses for support reference.

Mini Project

Audit three pages of your website for content accessibility. Check alt text, reading level, link text, heading hierarchy, and error messages. Write a report with recommendations.

What's Next

Complete the WCAG Project to apply everything you have learned in this module. Build a compliance evaluation and remediation plan.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro