Aria 1.2 Overview Part 2
Published
Today, I'll share a quick summary of what I've learned about WAI-ARIA.
In my last post, I shared a Study Checklist for ARIA, which I've now covered. I also realized that the WAS BoK includes a checklist of what you're expected to know about ARIA, and it's been really helpful; I've been checking off items from that list too.
Here's what I've learned so far:
I did an extensive read of the Accessible Rich Internet Applications (WAI-ARIA) 1.2 document. Here are some parts I found interesting (and that are also covered in the WAS BoK):
The Roles Model
The Roles Model section defines roles, their characteristics, and properties. Here are some of the key topics covered:
- Relationships Between Concepts: covers Superclass Roles, Subclass Roles, Related Concepts, and Base Concepts
- The characteristics of roles
- The categorization of roles—there are six role categories:
- Abstract Roles
- Widget Roles
- Document Structure Roles
- Landmark Roles
- Live Region Roles
- Window Roles
- Role Definitions
Supported States and Properties
This section explains ARIA attributes:
- The difference between ARIA states and ARIA properties
- The characteristics of states and properties, which help you understand the rules for using each ARIA attribute properly
- The common value types
- Translatable States and Properties for internationalization (i18n):
- aria-label
- aria-placeholder
- aria-roledescription
- aria-valuetext
- Global States and Properties
- The categorization of states and properties:
- Widget Attributes
- Live Region Attributes
- Drag-and-Drop Attributes
- Relationship Attributes
Accessibility Tree
The Accessibility Tree is built for assistive technologies and contains important accessible information, it doesn't include everything from the DOM. It removes irrelevant elements and adds properties like roles, names, and states. In short, the Accessibility Tree includes only elements that matter for accessibility, unlike the DOM, which contains all elements (including layout-only content).
I also learned a bunch of other interesting things, like the ARIA requirements for user agents (browsers) and host languages (like HTML and SVG), and how they should handle conflicts caused by authors.
I'm currently studying the Authoring Practices Guide (APG), which is organized into two main sections: Patterns and Practices. I'll share my update on that soon!