[wp-trac] [WordPress Trac] #36289: WP Speak assertive message and Firefox + NVDA bug
WordPress Trac
noreply at wordpress.org
Wed May 4 18:37:34 UTC 2016
#36289: WP Speak assertive message and Firefox + NVDA bug
----------------------------+----------------------------------------
Reporter: afercia | Owner: afercia
Type: defect (bug) | Status: assigned
Priority: normal | Milestone: 4.6
Component: Administration | Version:
Severity: normal | Resolution:
Keywords: needs-patch | Focuses: accessibility, javascript
----------------------------+----------------------------------------
Changes (by afercia):
* keywords: => needs-patch
* owner: => afercia
* status: new => assigned
* milestone: Awaiting Review => 4.6
Comment:
After some investigation I think it is caused by a mix of Firefox and NVDA
behaviours. Firefox does repaint when setting CSS overflow other than
`visible`, see screenshot below:
[[Image(https://cldup.com/-giYNCqA-d.png)]]
At this point, NVDA probably thinks an element with `role=alert` just
appeared on the page and it announces it. I ''think'' this is not a
correct implementation because, according to the specification:
https://www.w3.org/TR/wai-aria/roles#alert
> Alerts are assertive live regions and will be processed as such by
assistive technologies.
This means when there's no content change in the live region, nothing
should be announced. Will report upstream to hopefully get some precious
insights and suggestions.
On the other hand, the two live regions use both a status/alert role and
an aria-live attribute. This is redundant but it was done intentionally to
maximize coverage with the various browsers and assistive technologies
combinations. See for example:
https://www.w3.org/WAI/GL/wiki/Using_ARIA_role%3Dalert_or_Live_Regions_to_Identify_Errors
> The third example uses BOTH role=alert & aria-live=assertive on the
error container for wider UA/AT support working in all combinations
listed.
Specification:
https://www.w3.org/TR/wai-aria/roles#alert
> Note: Elements with the role alert have an implicit aria-live value of
assertive
https://www.w3.org/TR/wai-aria/roles#status
> Note: Elements with the role status have an implicit aria-live value of
polite
While waiting for some upstream feedback, I'd propose to completely remove
the `role` attributes and just use `aria-live`. This solves the issue in
Firefox+NVDA and should not cause new big issues. The worst thing that can
happen is that assertive messages won't immediately interrupt what is
being read out.
Any thoughts more than welcome.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/36289#comment:7>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list