Skip to content

Should aria-required be supported on radio buttons instead of (or in addition to) radio groups? #2669

@joanmarie

Description

@joanmarie

While doing some work in Chromium related to ARIA, I discovered that Chromium was treating aria-required as a global attribute. When I changed that to be compliant with the spec, a test related to reporting aria-required on radio buttons failed.

Doing some digging, I discovered:

  • The test I broke had landed as part of this commit whose commit message states manually testing with JAWS, NVDA, and VoiceOver was performed. This makes me wonder if those screen readers are supporting (perhaps even expecting?) aria-required to be supported on radio buttons. (Orca checks the radio button first and if the state is absent, checks the group.)
  • Chromium inherited the code in AXNodeObject:IsRequired() from WebKit.
  • Unlike Chromium, WebKit checks to see if required is a supported property before exposing it. BUT if you look at the list of roles in AXCoreObject::supportsRequiredAttribute() you'll see that radio button is there along with radio group.
  • Looking at Firefox, it appears that aria-required is among the non-global ARIA states Gecko treats as global. There's even a code comment indicating aria-required is not global and pointing to this bug that doesn't appear to be a high priority.

I personally don't have any opinion. But the spec and the implementations are not in sync.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions