Skip to content

NVDA doesn't handle role=dialog with supporting ARIA attributes according to spec #2390

@nvaccessAuto

Description

@nvaccessAuto

Reported by bgaraventa on 2012-05-28 02:18
According to the spec at
http://www.w3.org/TR/wai-aria/roles

When role=dialog is used in combination with either aria-label or aria-labelledby within the same attribute, then the contents of the dialog should be ignored when setting focus to an active element within the same dialog.

This does appear to work in some cases, but not in others, which looks like the behavior is inconsistently implemented.

The two attached implementations show this.

The sample with aria-labelledby and role=dialog uses these attributes on a parent tag of a calendar table. Role=presentation is also set on the Table tag, which, also according to spec, should prevent the contents of the table from being parsed for dialog label text when aria-label and aria-labelledby are not included at all.
In this sample however, all of the contents are being announced regardless when focus is set within the dialog using Firefox.

In the second sample, which uses aria-label and role=dialog in the Table tag instead, and does not use role=presentation at all, NVDA does not announce all of the table contents when focus is set within the table after the dialog opens.
This appears to be a fluke however, since, if you activate the Advanced Calendar link, then press the Spacebar on a calendar date to bring up the Edit Comment dialog, NVDA will then announce all of the Edit Comment dialog contents in the same manner as before, regardless that aria-label is included within the same parent tag that contains role=dialog.

So to summarise, both of these implementations should be working identically in NVDA and Firefox, but they both are giving contradictory feedback.

When focus is set within the dialog, none of the dialog contents should be announced. This should be the case for both the calendar dialog, and the Edit Comment dialog. The reason being, that aria-label and aria-labelledby are used in the same tag as role=dialog, so this sets the dialog title.

Also, even if aria-label and aria-labelledby were not included in the first sample, the presence of role=presentation should prevent the contents of the table from being announced in the same manner.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions