Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Button with aria-disabled="false" still announced as "unavailable" #3565

Closed
nvaccessAuto opened this issue Oct 8, 2013 · 7 comments
Closed

Comments

@nvaccessAuto
Copy link

Reported by hhillen on 2013-10-08 17:04
When a button both has disabled="disabled" AND aria-disabled="true", and both those attributes are turned off at the same time (i.e. disabled="disabled" is removed, and aria-disabled is set to "false") then NVDA still announces the button as "unavailable".

It seems NVDA does not update the virtual buffer properly: Refreshing the buffer with INS+F5 makes NVDA announce the button correctly again. The issue is avoided when only one of "disabled" or "aria-disabled" are used, but it would still be useful if this can be fixed on the NVDA side.

Test case has been provided on https://dl.dropboxusercontent.com/u/573324/testcases/bugreports/NVDA/test_case_aria_disabled_virtual_buffer.html (also attached).

To use this test case:

  1. Tab to the third button, labelled "Toggle both aria-disabled AND disabled", and activate it. This will apply both attributes on the fourth button, which is labelled "save".
  2. Activate the third button a second time. This will remove the disabled attribute and set aria-disabled="false"
  3. Press tab to move focus to the next button, labeled "Save". NVDA will now incorrectly announce it as "unavailable".
  4. Use the NVDA + F5 shortcut to refresh the virtual buffer. Now the button will be announced correctly again.

Note that the page in the test case also has controls that toggle only the disabled attribute or the aria-disabled attribute. The issue only occurs when both attributes are turned off at the same time.

@nvaccessAuto
Copy link
Author

Comment 1 by jteh on 2013-10-15 06:05
This is a bug in Firefox. (I assume you were testing with Firefox, as I can't get the button to toggle both attributes to work in IE 9 at all.) Firefox doesn't fire a state change for some odd reason when both attributes are toggled simultaneously. Can you file a bug with Mozilla or would you prefer me to do it?

@nvaccessAuto
Copy link
Author

Attachment test_case_aria_disabled_virtual_buffer.html added by hhillen on 2013-10-15 07:21
Description:
Test Case for Ticket #3565

@nvaccessAuto
Copy link
Author

Comment 2 by hhillen on 2013-10-15 07:26
Thanks for looking into this. Yes this occurs in Firefox. The use case wasn't working in IE because of a coding error, I've updated the demo so that it works in IE9 as well. I've confirmed with AccEvent that Firefox does not fire the state change events when aria-disabled is set to false and disabled is remove simultaneously. In IE the events do fire correctly. I'll log this in Bugzilla then.

@nvaccessAuto
Copy link
Author

Comment 3 by jteh on 2013-10-15 22:41
Hans filed MozillaBug:926812.

@ZeikJT
Copy link

ZeikJT commented Feb 1, 2016

The mozilla bug was fixed.

@jcsteh jcsteh closed this as completed Feb 1, 2016
@csantos1113
Copy link

csantos1113 commented Aug 29, 2016

Hi all, is there a way to don't read 'unavailable' in a self-disable button?
example @ZeikJT

@jomoji
Copy link

jomoji commented Jan 9, 2020

Hi @csantos1113, in your example tested on NVDA 2019.2.1 if you mantain aria-disabled="false" instead on change it to "true" it seems that the reader prioritizes the aria-disabled attribute rather than disabled attribute. And my NVDA dont tell me unavailable once it changes after click

Edit: not working at Firefox 72.0.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants