Table of Contents

ARIA: Dynamic States, Live Regions, and Change Announcements

Any change to the user’s page context requires an audible announcement in the screen reader. ARIA dynamic properties should be used when there is a change in the page markup, but the page has not been reloaded. Form validation errors and other announcements to the user should be marked up using ARIA live regions. Search results that refresh automatically should announce their state, both in progress and after the refresh.

Dynamic Properties

These are a few of the most common ARIA component properties. See the Properties tab of the DigitalA11y ARIA Cheat Sheet for a complete list.

The values of these properties can be changed dynamically as the page content is updated.

The aria-controls and aria-owns properties help associate complex components like autocomplete inputs and their result sets, where parts of the markup may be located in different places in the DOM. When one part of a descendant can be selected or focused, aria-activedescendant identifies the active choice.

Form Static Attributes

ARIA Live Regions

Use both aria-live and aria-atomic on any part of the page that should announce changed content to the user. If the entire contents of the region should be read to the user when an update is made, set aria-atomic to true. If only some parts of the enclosed content will change, and those pieces can be contained in child HTML elements of the live region, set aria-atomic to false for the region container and use aria-relevant="true" on each of the descendant elements that have changed.

Note that browser support for aria-atomic is uneven.

Further reading on ARIA Live