Skip to content
Home » Accessibility for Beginners: My TODO List as a Web Dev

Accessibility for Beginners: My TODO List as a Web Dev

Accessibility can feel intimidating. ARIA? Screen readers? WCAG? 😵‍💫
But as a web developer starting to care about it, I realized that a few simple practices already make a big difference.

This series of articles is not a deep dive into the full accessibility specifications.
It’s a beginner-friendly, practical guide, written by someone who’s learning, just like you.
No theory overload, no guilt. Just simple things you can actually do.


📦 Structure & Semantics

  • Use proper semantic HTML: <header>, <main>, <section>, etc.
  • Each page should have a unique and meaningful <title>
  • Follow a logical heading structure (<h1> to <h6>)
  • Every <section> should have a heading
  • Set the correct language in <html lang="...">
  • Use <button> for actions, <a> for links
  • Use Chrome DevTools to explore the Accessibility Tree

🛠️ I’m currently writing a full blog post on this topic. I’ll add the link here as soon as it’s published!

🎯 Keyboard Navigation & Focus

  • Everything must be usable with just a keyboard
  • Don’t Mess Up tabindex, stick to 0 and -1
  • Add a skip link at the top of the page
  • Keep focus outlines, or replace them visually
  • Test it with an assistive tool

🛠️ I’m currently writing a full blog post on this topic. I’ll add the link here as soon as it’s published!

🧩 Forms & Inputs

  • Link inputs and labels using <label for="id">
  • Use aria-describedby for help text or errors
  • Use role="alert" or aria-live for live error messages
  • Labels and buttons should be clear

🛠️ I’m currently writing a full blog post on this topic. I’ll add the link here as soon as it’s published!

🧠 ARIA (Only If Needed)

  • Use aria-hidden="true" for purely decorative elements
  • Add aria-label to describe blocks like navs
  • Use aria-current="page" for the active page
  • Use .sr-only for screen-reader-only info
  • Prefer native HTML whenever possible

🛠️ I’m currently writing a full blog post on this topic. I’ll add the link here as soon as it’s published!

📺 Media & Motion

  • Add relevant alt text, or alt="" for decorative images
  • Videos and audios need subtitles or transcripts
  • Use audio descriptions if visuals are important
  • Don’t autoplay audio/video, or at least give controls
  • Use prefers-reduced-motion to reduce animations

🛠️ I’m currently writing a full blog post on this topic. I’ll add the link here as soon as it’s published!

🔍 Visual & Readability

  • Don’t rely on color alone to show meaning
  • Check contrast and font size
  • Content should stay readable at 400% zoom
  • Let users adjust spacing, line height, etc.
  • Clickable elements shouldn’t be too small

🛠️ I’m currently writing a full blog post on this topic. I’ll add the link here as soon as it’s published!

🔄 Advanced

  • For SPAs, update the <title> and move focus on route change
  • Menus must be keyboard-friendly
  • Modals/popups should trap focus and return it on close

🛠️ I’m currently writing a full blog post on this topic. I’ll add the link here as soon as it’s published!


That’s it! Let’s make the web better, one small fix at a time. 👊

This guide will evolve as I keep learning, so feel free to share your tips, corrections, or suggestions in the comments.

Note: I just started writing this guide. The detailed posts will be released shortly. Follow me on Twitter if you don’t want to miss them.

Share

Leave a Reply

Your email address will not be published. Required fields are marked *