Notice: This is a work in progress. Please submit feedback or suggestions.

aria-controls attribute (aria)

Screen reader support level: partial (12/40)

Voice Control support level: not applicable

On this page

About this feature

Identifies the element (or elements) whose contents or presence are controlled by the current element. See related aria-owns.

Age of results

Results across all tests for this feature range from 3 days ago to a year ago. Detailed dates and version information can be found in associated tests.

Failing and partial results are between a year ago and a year ago.

Expectations

What are expectations?

Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
MUST convey the presence of the aria-controls attributesupported*supported*supported*nonenonenonenonenonenonenone
MUST allow the user to jump to the controlled elementsupportedsupportedsupportednonenonenonenonenonenonenone

* means that some support is hidden behind settings

Voice Control support by expectation

ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech Recognition
ChromeChromeSafariSafariChrome
Not applicable

Expectation: convey the presence of the aria-controls attribute

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • When supported, screen readers will often hint that an element controls another element, and may even announce the keyboard shortcut to jump to the controlled element
  • Most screen readers either do not support this attribute or the setting to convey the presence is turned off by default. This is because in the vast majority of cases, the controlled element is adjacent to the element with aria-controls, and thus announcing the presence is redundant and add extra verbosity.
Screen Reader support for 'MUST convey the presence of the aria-controls attribute'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
APG Actions Menu Button Example Using aria-activedescendantsupportedsupportedsupportednonenonenonenonenonenonenone
aria-controls attributesupported*supported*supported*nonenonenonenonenonenonenone

* means that some support is hidden behind settings

Expectation: allow the user to jump to the controlled element

Rationale: The controlled element might not be close to the element with aria-controls and the user might find it convenient to jump directly to the controlled element.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA
Screen Reader support for 'MUST allow the user to jump to the controlled element'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
APG Actions Menu Button Example Using aria-activedescendantsupportedsupportedsupportednonenonenonenonenonenonenone
aria-controls attributesupportedsupportedsupportednonenonenonenonenonenonenone