Skip to content

ARIA Complete Guide — Advanced Roles & Patterns

In this tutorial, you will learn about ARIA Complete Guide. We cover key concepts, practical examples, and best practices to help you master this topic.

Master all ARIA role categories including landmark, document-structure, widget, Composite, and live-region roles, plus key properties like aria-owns, aria-flowto, aria-sort, aria-modal, and aria-keyshortcuts.

In this complete guide to ARIA, you'll go beyond the basics. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

Lessons in This Series

1. ARIA Deep Dive
Beyond the basics of WAI-ARIA
2. Landmark Roles
Banner, navigation, main, complementary, contentinfo
3. Document Structure Roles
Article, section, heading, and more
4. Widget Roles
Button, link, checkbox, radio, tab
5. Composite Roles
Tablist, menubar, grid, combobox
6. Live Region Roles
Alert, log, marquee, status, timer
7. aria-owns
Redefining parent-child relationships
8. aria-flowto
Defining custom reading order
9. aria-controls
Indicating which element a control operates on
10. aria-posinset
Position in a set
11. aria-setsize
Size of a set
12. aria-sort
Sorting state in tables and grids
13. aria-grabbed
Drag and drop state
14. aria-dropeffect
Drop target behavior
15. aria-haspopup
Indicating popup elements
16. aria-modal
Indicating modal dialogs
17. aria-pressed
Toggle button state
18. aria-valuemin, valuemax, valuenow, valuetext
Range value communication
19. aria-keyshortcuts
Exposing keyboard shortcuts to assistive tech
20. ARIA Project
Build an accessible tab panel

ARIA Complete Guide Learning Path

flowchart LR
  A[ARIA Basics] --> B[ARIA Complete Guide]
  B --> C[Keyboard Navigation]
  B --> D[Screen Readers]
  B:::current

  classDef current fill:#f90,color:#fff,stroke:#333,stroke-width:2px

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro.

Published Topics

ARIA Deep Dive — Beyond the Basics of WAI-ARIA

This deep dive into WAI-ARIA explores advanced role relationships, accessibility tree manipulation, complex state management, and patterns for custom interactive widgets.

✓ Live

Landmark Roles — Banner, Navigation, Main, Complementary and Contentinfo

ARIA landmark roles identify major page sections like banner, navigation, main, complementary, and contentinfo, enabling screen reader users to navigate and jump between regions quickly.

✓ Live

Document Structure Roles — Article, Section, Heading and More

ARIA document structure roles like article, section, heading, list, and table describe content organization, helping screen readers convey document structure to users.

✓ Live

Widget Roles — Button, Link, Checkbox, Radio and Tab

ARIA widget roles like button, link, checkbox, radio, and tab identify interactive elements to assistive technologies, providing the semantics for user interaction patterns.

✓ Live

Composite Roles — Tablist, Menubar, Grid and Combobox

ARIA composite roles like tablist, menubar, grid, and combobox contain and manage multiple child widgets with roving tabindex or aria-activedescendant for focus management.

✓ Live

Live Region Roles — Alert, Log, Marquee, Status and Timer

ARIA live region roles like alert, log, marquee, status, and timer create regions where content changes are automatically announced by screen readers without requiring user focus.

✓ Live

aria-owns — Redefining Parent-Child Relationships in the Accessibility Tree

aria-owns establishes parent-child relationships between elements in the accessibility tree that differ from their DOM hierarchy, useful for tree views, menus, and composite widgets.

✓ Live

aria-flowto — Defining Custom Reading Order for Screen Readers

aria-flowto defines an alternative reading order through content, allowing screen reader users to navigate in a sequence that differs from the DOM order when needed for comprehension.

✓ Live

aria-controls — Indicating Which Element a Control Operates On

aria-controls identifies the element that is controlled or affected by the current interactive element, such as a button controlling a panel or a tab controlling a tabpanel.

✓ Live

aria-posinset and aria-setsize — Position and Size in a Set

aria-posinset and aria-setsize communicate an element's position within a set and the total set size to screen readers, essential when DOM order does not match logical set membership.

✓ Live

aria-setsize — Defining the Size of a Set

aria-setsize defines the total number of items in a set, used with aria-posinset when not all items are in the DOM, enabling screen readers to announce item N of M context.

✓ Live

aria-sort — Indicating Sorting State in Tables and Grids

aria-sort indicates the current sorting order of a table or grid column, with values ascending, descending, none, and other helping screen reader users understand sort state.

✓ Live

aria-grabbed — Indicating Drag and Drop State

aria-grabbed indicates whether a draggable element is currently being grabbed for drag and drop operations, helping screen reader users understand drag interaction state.

✓ Live

aria-dropeffect — Indicating Drop Target Behavior

aria-dropeffect indicates what happens when a dragged element is dropped on a target, with values like move, copy, execute, link, and none describing the operation result.

✓ Live

aria-haspopup — Indicating Popup Elements to Screen Readers

aria-haspopup indicates that an interactive element triggers a popup widget like a menu, dialog, listbox, tree, or grid, helping screen reader users understand what will appear.

✓ Live

aria-modal — Indicating Modal Dialogs to Screen Readers

aria-modal indicates that a dialog element is modal, meaning content outside the dialog is inert and cannot be interacted with until the dialog is dismissed.

✓ Live

aria-pressed — Indicating Toggle Button State

aria-pressed indicates whether a toggle button is currently pressed or unpressed, providing a three-state model for buttons that can be toggled between on and off.

✓ Live

aria-valuemin, aria-valuemax, aria-valuenow and aria-valuetext — Range Value Communication

Range ARIA attributes aria-valuemin, aria-valuemax, aria-valuenow, and aria-valuetext communicate numeric and textual values for slider, progressbar, scrollbar, and spinbutton roles.

✓ Live

aria-keyshortcuts — Exposing Keyboard Shortcuts to Assistive Technology

aria-keyshortcuts exposes available keyboard shortcuts to screen readers, allowing users to discover and use keyboard commands without memorizing them beforehand.

✓ Live

ARIA Project — Build an Accessible Tab Panel

Apply all ARIA concepts to build a complete accessible tab panel with roles, states, keyboard navigation, roving tabindex, aria-controls, and aria-selected.

✓ Live

All 20 topics in ARIA Complete Guide — Advanced Roles & Patterns are published.