✅ The full checklist

16 checks for an accessible post

Sixteen categories — C1 to C16 — that together make a social post work for everyone, each mapped to its WCAG success criteria. For every one, here's a clear don't and do, so you can see the difference at a glance and fix it fast.

The sixteen categories

C1

Image alternative text

Every meaningful image needs a short description a screen reader can read aloud.

✕ Don't

No alt, so it reads the filename: "IMG_2043.jpg" — or a useless alt="image".

✓ Do

alt="Aerial view of a Maldivian island ringed by a turquoise lagoon at sunset."

WCAG 1.1.1 · Writing alt text · per platform
C2

Complex image & infographic descriptions

Charts and infographics carry data — a one-word alt throws it all away.

✕ Don't

A bar chart posted with alt="chart". Every number is lost to non-visual users.

✓ Do

Short alt ("Bar chart: support requests by type, 2024") plus the figures in the caption or a linked page: Communication 42%, Mobility 31%, Vision 18%…

WCAG 1.1.1
C3

Text embedded in images

Words baked into a graphic can't be read aloud, searched, translated or zoomed.

✕ Don't

A quote card where the quote exists only as pixels, with no alt and nothing in the post text.

✓ Do

Put the full quote in the post text (and the alt); let the graphic be decoration. Keep text overlays high-contrast and brief.

WCAG 1.4.5 Images of Text
C4

Video & animation captions

Captions carry the audio for Deaf viewers — and the majority who watch on mute.

✕ Don't

Ship raw auto-captions: "welcome to a lily M V we test for double a".

✓ Do

Review them, add speaker labels and sound cues: "[upbeat music] Irshad: Welcome to A11y.mv — we test for WCAG 2.2 AA."

WCAG 1.2.2 · Captions & video
C5

Transcripts & audio description

Captions cover what you hear; transcripts and audio description cover the rest.

✕ Don't

Post an audio clip with no transcript, or a silent screen-demo that never says what's happening on screen.

✓ Do

Add a transcript in the caption or a link, and narrate the visuals — "the button's in the top-right" instead of "tap here".

WCAG 1.2.3 / 1.2.5 · Transcripts
C6

Colour contrast & graphic-text legibility

Text needs to stand out from its background — at least 4.5:1 for normal sizes.

✕ Don't

Light-grey caption text on a pale graphic at ≈ 1.9:1 — unreadable in sunlight or with low vision.

✓ Do

Dark text on a light surface (or vice-versa) at ≥ 4.5:1; add a solid scrim behind text placed over photos.

WCAG 1.4.3 · Contrast guide & checker
C7

Use of colour alone

If colour is the only cue, colour-blind users miss the message.

✕ Don't

"Tap the green button", or red = sold out — with colour as the only signal.

✓ Do

Add text, an icon or a pattern: "Sold out ✕", "In stock ✓", or name the button by its label.

WCAG 1.4.1 · Colour alone
C8

Hashtag formatting

CamelCase tells a screen reader where each word in a hashtag begins.

✕ Don't

#disabilityawarenessmonth — read as one long, garbled token.

✓ Do

#DisabilityAwarenessMonth, placed at the end of the post, after your message.

WCAG 1.1.1 / 1.3.1 · Hashtag reader
C9

Emoji usage & placement

Screen readers speak every emoji's full name, so a few go a long way.

✕ Don't

🎉We're🚀 hiring👏 a11y👏 engineers👏👏 — emoji mid-sentence and as separators.

✓ Do

We're hiring accessibility engineers. 🚀 — one or two, at the end. Never as bullet points.

WCAG 1.1.1 / 1.3.2 · Emoji
C10

Link text, URL & QR practice

Links should say where they go; QR codes need a text alternative.

✕ Don't

"click here", a raw tracking URL read out character by character, or a QR code with no written address.

✓ Do

Read the full guide: a11y.mv/social-guide — and always print the plain-text link beside any QR code.

WCAG 2.4.4 · Links
C11

Plain language & readability

Clear, front-loaded writing helps cognitive-disabled readers, and everyone skimming.

✕ Don't

"Leveraging synergistic paradigms, our EOD deliverable actualises best-in-class a11y KPIs."

✓ Do

"New guide: make your social posts work for everyone." Say the point first; spell out acronyms; keep sentences short.

WCAG 3.1.5 · Plain language
C12

Language ID & bilingual / Dhivehi content

Mark the language so screen readers switch voices — and keep Dhivehi and English apart.

✕ Don't

Mix Thaana and English mid-sentence with no separation. An English voice reads ދިވެހި as silence or gibberish.

✓ Do

Post each language as its own labelled block — 🇲🇻 ދިވެހި then 🇬🇧 English — and on the web tag it: <p lang="dv" dir="rtl">.

WCAG 3.1.1 Language of Page / 3.1.2 Language of Parts
C13

Motion, flashing & autoplay

Fast flashes can trigger seizures; endless motion causes nausea.

✕ Don't

A strobing GIF that flashes several times a second, autoplaying with sound, posted with no warning.

✓ Do

Keep any flash under three per second, avoid autoplay with sound, add a ⚠️ flashing images warning, and offer a still alternative.

WCAG 2.3.1 Three Flashes / 1.4.2 Audio Control · Motion
C14

Profile & contact accessibility

Your bio, handle and contact details are content too — keep them readable.

✕ Don't

A bio in fancy Unicode, contact details trapped inside a banner image, and no alt on the avatar or Story-highlight covers.

✓ Do

Plain-text bio and contact info, a described profile & cover image, and a pinned "How to reach us" post in real text.

Composite (1.1.1 · 1.4.5 · 4.1.2)
C15

Stylized text & special characters

"Fancy" font generators output rare maths symbols, not letters.

✕ Don't

𝓗𝓪𝓹𝓹𝔂 𝓐𝓬𝓬𝓮𝓼𝓼𝓲𝓫𝓲𝓵𝓲𝓽𝔂 𝓓𝓪𝔂 — skipped or read as symbol names. Also avoid ASCII art and symbol spam.

✓ Do

Happy Accessibility Day in plain letters, with the platform's own bold or a single emoji for emphasis.

WCAG 1.1.1 / 4.1.2 · Fancy fonts
C16

Live & ephemeral video

Live streams and Stories still need captions — even when they vanish in 24 hours.

✕ Don't

Go live or post a Story with spoken-only information, no captions, and let it disappear with no record.

✓ Do

Turn on live/auto captions, read on-screen text aloud, use Story caption stickers and alt, then save the replay with corrected captions.

WCAG 1.2.2 Captions / 1.2.4 Captions (Live)

Want this checklist run against your channels, or a workshop for your team?

Get in touch