Web Accessibility: Let’s Get Practical!

So, you read the Beginner’s Guide, nodded along, and thought,

“Yeah, accessibility is important. Let’s do this! ╰(°▽°)╯”

But… how?

Don’t worry, bestie—I got you. Today, we’re moving beyond the what and why and diving straight into the how. Real, actionable steps to make your site accessible, inclusive, and legally compliant (because lawsuits are so not fun).

✨ Buckle up! ✨

1. Keyboard Navigation: No Mouse? No Problem!

Not everyone uses a mouse, so your site needs to be fully navigable via keyboard.

  • Use the Tab key to move through elements and Enter or Space to activate them.

  • Provide a visible :focus state (seriously, don’t remove it! 🙅‍♀️) so users know where they are.

  • Add skip links (<a href="#main-content">Skip to Main Content</a>) at the top of your page so users can bypass navigation menus.

  • Ensure dropdowns, modals, and pop-ups don’t trap keyboard users (because nobody wants to be stuck in a modal forever).

2. ARIA: Your Secret Accessibility Weapon (When Used Right!)

Semantic HTML should always be your BFF 🧑‍🤝‍🧑. Use proper tags like <button>, <nav>, and <header> instead of generic <div>s. But when that’s not enough? ARIA (Accessible Rich Internet Applications) to the rescue!

  • Use role="button" (or whatever its role is) if you must use <div> or <span> as interactive elements.

  • Add aria-live="polite" for dynamic content (like chat or notifications). This tells screen readers:

    • “This content is important but not urgent.”

    • “Announce this after finishing the current task.”

  • Use aria-labelledby and aria-describedby to give more context to elements like form fields and images.

    • For sighted users, labels and descriptions are visually obvious. But screen readers don’t always associate them correctly.

      • aria-labelledby links a label to a form field.

      • aria-describedby links extra info, like “Must be at least 6 characters,” to a form field, ensuring screen readers capture it.

3. Forms That Don’t Make People Scream

Forms are necessary, but they shouldn’t be a nightmare 😱.

  • Always pair inputs with <label> (placeholder text ≠ label).

  • Use aria-describedby for helpful hints.

  • Make error messages clear and screen-reader friendly. (“Oops! Something went wrong” tells no one what’s wrong).

4. Images & Videos: More Than Just Eye Candy

  • Images: Add descriptive alt text for meaningful images. If the image is decorative, use alt="" to hide it from screen readers.

  • Videos: Include captions and transcripts—autogenerated ones are… let’s just say, questionable 🙄.

  • Avoid auto-play: No one likes surprise videos blaring at full volume. Let users control media playback.

5. Testing, Testing… Is This Thing Accessible?

You wouldn’t launch a site without testing it first, right? RIGHT?

🔍 Automated Tools:

  • Lighthouse (built into Chrome DevTools)

  • axe DevTools

  • WAVE

🎧 Screen Readers:

  • NVDA (free for Windows)

  • VoiceOver (built into macOS & iOS)

🔑 Manual Checks:

  • Navigate using only a keyboard.

  • Zoom in to 200%—does your layout break? (mine did 😭)

  • Test with high contrast mode and colorblind filters.

6. Color & Contrast: Not Everyone Has 20/20 Vision

Color choices affect readability, especially for users with low vision or color blindness.

  • Use sufficient contrast between text and background (at least 4.5:1 as per WCAG).

  • Never rely on color alone to convey meaning (because not everyone sees red as “error” 🤦‍♀️).

  • Test with a colorblind simulator—your design might surprise you!

  • Tools: Contrast Checker, Color blindness Simulator

7. The “Less Motion, More Ocean” Rule

Animations and motion effects are fun… until they make people dizzy 😵‍💫.

  • Use prefers-reduced-motion to respect users' settings.

  • Avoid excessive scrolling effects and flashing elements.

  • If something moves or auto-plays, let users pause or stop it.

8. Accessible Modals: No More Focus Traps!

Modals (pop-ups, alerts) are often poorly implemented, making navigation a nightmare.

  • Keep focus trapped inside the modal (users shouldn’t be able to tab behind it).

  • Ensure pressing Esc closes the modal (because clicking that tiny “X” isn’t always easy).

  • Return focus to the original button after closing the modal.


💌Final Thoughts: Accessibility = Respect

Accessibility isn’t a nice-to-have—it’s a must-have. It’s about respecting all users, regardless of ability. Plus, it improves SEO, usability, and user experience for everyone. Win-win!

Now, go forth and make the web a better place. And if you still don’t care about accessibility? Well… your Google rankings, user engagement, and conversion rates will, soon enough. 😏

0
Subscribe to my newsletter

Read articles from Neha Saleem Desai directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Neha Saleem Desai
Neha Saleem Desai