[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