Accessibility in Front End Development
Nandan Kumar

Nandan Kumar @sirius93

About: I am Nandan, and you probably know me as the Software Engineer who "Hacked" an airline to retrieve his luggage. I write about Fron-End, Git, Security, DevOps, etc.

Location:
Bangalore
Joined:
Jun 4, 2019

Accessibility in Front End Development

Publish Date: Aug 10
0 0

a11y Heading image

Let me start with this: Accessibility is not a buzzword; its a crucial feature that every web application should have.

It should not be mandated by the government, but rather it should be taken as the responsibility of every developer to make their websites accessible to all users.

Making a website accessible will not just help you avoid government penalties, it will also give you a wider user base. Accessibility is all about making your website accessible to everyone.

On that note, lets get this blog started -

What is Accessibility

Accessibility is ensuring that your web application is usable by people with disabilities, including people with

  • Visual impairment (Blindness, Colour Blindness) -

  • Hearing loss

  • Motor Impairment ( Difficulty using the mouse)

  • Cognitive limitation (Dyslexia, Attention Disorder)

Accessibility Core Principle (POUR)

Principle Description
Perceivable Content must be perceivable by all (e.g., alt text, captions)
Operable All functionality must work via keyboard or assistive devices
Understandable Content should be readable and predictable
Robust Must work with various assistive technologies

How can people with disabilities use the applications

Accessibility Need Requirement / Support
Visual Impairment Should be usable with screen readers, VoiceOver, and font scaling support
Hearing Loss Closed captions for video and audio
Motor Impairment Keyboard accessibility support
Cognitive Limitation Simple language

Accessibility Standards

Web Content Accessibility Guidelines (WCAG)

Defines Accessibility levels as A , AA & AAA

Read More: https://www.w3.org/WAI/standards-guidelines/wcag/

Accessible Rich Internet Applications (ARIA)

Adds accessibility support to non-semantic elements.

Read More: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/

Americans with Disabilities Act (ADA)

Legal mandate in the US for accessible digital content

Read More: https://www.ada.gov/

AA is the most commonly required level of compliance.

How to make a web application Accessible

Use Semantic Tags

  • Use tags like <button> , <nav>, <header>, <section> etc.

  • Avoid using div and span all over your application

Support Keyboard Accessibility

  • Actions should be usable via. keyboard, including opening modals, dropdowns, and toasts.

  • Use tabindex to align focus correctly.

  • Use focus, keydown event listeners correctly

Use Aria Roles when needed

Focus Management

  • Trap focus in modals

  • Restore focus when modals close

  • Visibly indicate focus using focus-visible or outline

Maintain Colour Contrast

Using Images and Other Media

  • Use alt text for images

  • Add transcripts/captions for videos/audio

  • Avoid autoplaying media files. i.e. Video

Tools for Accessibility Testing

The tools listed below are some of the most common tools for testing accessibility in a web application.

Tool Use Case
axe DevTools Chrome extension to audit a11y
Lighthouse Built-in browser audits
NVDA / VoiceOver Screen reader testing
Tab key Test keyboard navigation

WCAG AAA is harder to implement, and most website are expected to maintain AA compliant.

I hope by the end of this post, you have a good idea of why accessibility is important and how you can add accessibility support to your application.

Thats all, folks! I hope you found this helpful. If you enjoyed this, check out more articles on my Blog, https://blog.nandan.dev/

Feel free to comment, email me at connect@nandan.dev, or connect with me on Twitter, Instagram, or GitHub. Dont forget to subscribe to my newsletter for regular updates on JavaScript topics!

Twitter | Instagram | Github | Website

Comments 0 total

    Add comment