Types of A11Y guidelines and specifications
Short review of WCAG, ARIA, ATAG, UAAG
Making your web applications accessible to all users is crucial for creating an inclusive and user-friendly experience. However, figuring out if your application is accessible or how to improve it can be a challenge. In this article, we'll explore the main accessibility guidelines you should be aware of to help make your web applications more inclusive. By following these guidelines, you can ensure that your application is accessible to a wider range of people and provide a better user experience for everyone.
Web Content Accessibility Guidelines (WCAG)
The WCAG is a set of recommendations from the W3C body that provides guidelines for developers and creators to make the web accessible to a wider range of people. The WCAG is device-agnostic and follows the POUR principles, which stand for:
Perceivable - The content must be perceivable to all users, regardless of any visual impairments or other conditions. This includes providing alternatives to non-text content, such as images or videos, and ensuring that content is distinguishable from the background.
Operable - The content and components of the application must be operable through various input methods, such as keyboard or voice commands, and without relying on any specific device or hardware.
Understandable - The content and the operation of the user interface and its components must be easy to understand, with clear and simple language and instructions.
Robust - The application should be able to function independently of various browsers, devices, or screen assistive technologies, and should be compatible with various versions and technologies.
WCAG specifies three levels of conformity: A, AA, and AAA level. However, user testing is still necessary as not all user needs are covered.
Summary: Use these guidelines to ensure that your web application is accessible and inclusive.
Accessible Rich Internet Applications (WAI-ARIA)
WAI-ARIA was created by the Web Accessibility Initiative (WAI) to make dynamic content accessible to users that use assistive technologies such as screen readers, braille output devices etc. ARIA defines additional attributes to HTML, such as name, role, and values, which are useful for custom UI components. For example, the checkbox shown below has a role of
aria-checked set to
false value, property
aria-label which gives the value
"Sample checkbox" as a value available to assistive technologies.
<input type="checkbox" aria-checked="false" aria-labelby="Sample checkbox"/>
These attributes make use of the accessibility API to add to the accessibility tree which is used by the assistive technologies. It is important to remember that the first rule of ARIA is "Don't use ARIA," which means aria attributes should only be used when no other HTML semantics are available.
Summary: Use these guidelines when creating custom components.
Authoring Tool Accessibility Guidelines (ATAG)
ATAG is most useful to developers and creators of tools that enable users to create content. Examples of these tools are CMSs, text editors, website-generating tools, blogging platforms, social media networks and so on. Thus, these guidelines aim to make content creation tools accessible so that all internet users without any exclusion can create content, and these tools offer the ability for authors to create accessible content.
Summary: Use these guidelines to make your content creation tools more accessible.
User Agent Accessibility Guidelines (UAAG)
UAAG specifies how to make the user agents accessible as inclusive as possible. User agents include all the applications that render web content, such as browsers, browser extensions, readers, and media players. These guidelines are useful for developers working on these tools and for users who want to choose the user agent that is most accessible and fits their needs best.
Summary: Use these guidelines to ensure that the user agents you build or use are accessible and suitable for different user needs.
Check these resources to read in more detail:
Let's make the internet accessible!
Hope you enjoyed this post!
Any feedback or comment is appreciated ^_^