Appsberg
Back to Blogs
Accessibility and inclusive design
Accessibility

Building Accessible Web Apps: WCAG 2.1 AA Checklist

A practical guide to making your web applications usable for everyone, including keyboard navigation and screen readers.

Amelia RossSeptember 5, 2024 · 11 min read
accessibility
WCAG
a11y
inclusive design

Accessibility isn't optional—it's a requirement for inclusive design and often a legal one. Here's a practical checklist to help your web apps meet WCAG 2.1 AA standards.

Semantic HTML – Use the right elements: `<nav>`, `<main>`, `<article>`, `<button>`, etc. Screen readers rely on structure. Avoid divs for everything.

Keyboard Navigation – Ensure all interactive elements are focusable and reachable via Tab. Provide visible focus indicators. Skip links help keyboard users bypass repetitive navigation.

Color Contrast – Text must have at least 4.5:1 contrast (3:1 for large text). Use tools like WebAIM Contrast Checker. Don't rely on color alone to convey information.

Forms and Labels – Every input needs a label. Use `aria-describedby` for hints and errors. Group related fields with `<fieldset>` and `<legend>`.

Images and Media – Provide alt text for images. Use 'alt' for meaningful images and empty alt for decorative ones. Caption videos and provide transcripts.

ARIA When Needed – Use ARIA when HTML isn't enough: `aria-expanded`, `aria-label`, `aria-live` for dynamic content. Use `role` sparingly and correctly.

Testing – Test with keyboard only, screen readers (NVDA, VoiceOver), and automated tools. Manual testing catches what automated tools miss.

Accessibility benefits everyone—clearer structure, better SEO, and a more usable product. Start with the basics and iterate.