The internet has become a part of daily life, but not everyone uses it in the same way. Web Content Accessibility Guidelines (WCAG) are a set of formal standards aimed to address this problem.
Accessibility isn't just about compliance - it's about improving the usability of your product for everyone. Whilst essential for people with permanent sensory, motor, or cognitive impairments, it also improves the experience for users with temporary or situational limitations.
Making your website accessible ensures equal access, better usability, and improved SEO.
The Web Content Accessibility Guidelines are international standards developed by the WW3C's Web Accessibility Initiative (WAI). They define how to make web content more accessible to people with disabilities.
These guidelines are constantly reviewed and updated to make the web a more accessible place. Each version release has its own focus, and moves with evolving technologies. The current latest set of guidelines is the WCAG 2.2, released in December 2024.
WCAG consists of 4 high-level principles. Each principle is broken down into a number of sub-criteria.
Information must be presented in a way users can perceive:
User Interface components and navigation must be operable:
Information and the operation of the user interface must be understandable:
Content must be robust enough that it can be interpreted by a wide variety of user agents, including assistive technologies:
Suppose we want to create a simple button on our site.
❌ Figure: Bad example - Lacks accessibility
This fails numerous guidelines:
✅ Figure: Good example - Correct accessibility
Improving on the previous example, this button passes:
WCAG defines three levels of conformance to these guidelines: A, AA, and AAA. They stack - meaning each higher level includes all requirements of the one below it.
| Role | Actions |
| Designers | - Use accessible colour palettes and check contrast ratios (4.5:1 minimum for body text)- Ensure font sizes are readable- Clearly indicate focus states- Design with text alternatives in mind |
| Developers | - Write semantic HTML (e.g., <button> not <div> for buttons)- Use ARIA only when necessary- Ensure full keyboard navigation- Maintain logical tab order |
| Testers | - Run automated checks (axe, Lighthouse)- Test with keyboard only- Test with a screen reader (NVDA, VoiceOver)- Verify form error handling |
Lighthouse is an automated auditing tool by Google that runs inside Chrome Devtools to check a website's performance, accessibility, best practices, and SEO. It's automated accessibility checks are based on WCAG, and it uses rules from axe-core.
It is best used for performance and accessibility review before release. Although it only covers ~20-30% of accessibiltiy checks because many need manual testing.
Figure: Lighthouse in DevTools
Similarly, axe DevTools is a browser extension and testing toolkit powered by axe-core, using the same accessibility engine used in Lighthouse. It is used to find and fix accessibility issues during development. However, unlike lighthouse, it allows guided and manual testing for things automation can't fully check (e.g., meaningful ink text, focus order, screen reader experience).
Figure: axe DevTools Example
The following are some key concepts that can help make WCAG easier to understand.