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

Meta issue: NVDA often reads web element status, atributes or descriptions twice in all browsers #10140

Closed
Adriani90 opened this issue Aug 23, 2019 · 9 comments

Comments

@Adriani90
Copy link
Collaborator

Steps to reproduce:

This is a meta issue for several issue with the same effect on user experience, namely that information is spoken twice in browsers. For repro, please see each issue referenced here.

Actual behavior:

NVDA repeats information twice.

Expected behavior:

NVDA should report information once when focusing the coresponding element.

System configuration

NVDA installed/portable/running from source:

both installed and portable

NVDA version:

2019.2

Windows version:

valid for all Windows versions

Name and version of other software in use when reproducing the issue:

Firefox 67, Chrome 76 and IE11

Other information about your system:

Other questions

Does the issue still occur after restarting your PC?

yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

yes, different versions until NVDA 2016.1.

@Adriani90
Copy link
Collaborator Author

following issues are dealing with this problem:

#10139, #10066, #9914, #9723, #9653, #9645, #9555, #8960, #8707, #7841, #7823, #7358, #6680, #6659, #4782, #4079

@Adriani90
Copy link
Collaborator Author

@feerrenrut, I understand that looking at those issues separately, in some cases the problem seems not to be very critical. However, when looking at all issues together, the double informatoin spoken while navigating through the internet can be painful and can cause inefficiencies for users.
cc: @jcsteh, @MarcoZehe, @LeonarddeR, @derekriemer.

@Adriani90 Adriani90 changed the title Meta issue: NVDA reads web element status, atributes or descriptions twice in all browsers Meta issue: NVDA often reads web element status, atributes or descriptions twice in all browsers Aug 23, 2019
@kdunagan-od
Copy link

Hi! I'm just a random software developer working on a site. QA was testing NVDA on chrome and found the problem of repeating elements whenever we focused a container div that contained many elements. We are currently finding that adding the role of group (role = "group") to the outer container is making it so NVDA is not reading out elements twice. I don't know if that helps.

@Adriani90
Copy link
Collaborator Author

Yet another example of double information: #10512. It seems in Google Chrome this behavior appears more often.

@Adriani90
Copy link
Collaborator Author

Adriani90 commented Dec 20, 2019

I found some more issues:
#9155
#8221
#7996
#7948

devtools-bot pushed a commit to ChromeDevTools/devtools-frontend that referenced this issue Jan 2, 2020
…essible

Re-upload of https://chromium-review.googlesource.com/c/chromium/src/+/1817197 to the DevTools repository

Issue:
- offscreen alert element set up ARIAUtils.alert(...) is accessible via NVDA browser mode
  (this is due to setting the textContent to the alert message)

Changes:
- Create another offscreen element that is set as the description element to the alert element
- messages passed into alert(...) is then set as the accessible label for the description element

This is a proposed solution for retaining ARIAUtils.alert's functionality while making the actual element SR inaccessible.
Here is a description and justification of the change that is left via comments in the function:

  // This function is used to announce a message with the screen reader.
  // The elements used in this function are set offscreen via the _hideFromLayout call
  // Setting the aria-label to the message will prompt the SR to read the message
  // Setting the textContent would allow the SR to access the offscreen element via browse mode
  // Due to existing NVDA bugs (nvaccess/nvda#10140), setting the
  // aria-label of the alert element results in the message being read twice.
  // The current workaround is to set the aria-describedby of the alert element
  // to a description element where the aria-label is set to the message.

Bug: 1006368
Change-Id: If77a89d3ca33452cf5ad9add1c1f549be9ff2dac
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1871828
Reviewed-by: Robert Paveza <Rob.Paveza@microsoft.com>
Reviewed-by: Amanda Baker <ambake@microsoft.com>
Commit-Queue: Michael Liao <michael.liao@microsoft.com>
babot pushed a commit to binaryage/dirac that referenced this issue Jan 3, 2020
…essible

Re-upload of https://chromium-review.googlesource.com/c/chromium/src/+/1817197 to the DevTools repository

Issue:
- offscreen alert element set up ARIAUtils.alert(...) is accessible via NVDA browser mode
  (this is due to setting the textContent to the alert message)

Changes:
- Create another offscreen element that is set as the description element to the alert element
- messages passed into alert(...) is then set as the accessible label for the description element

This is a proposed solution for retaining ARIAUtils.alert's functionality while making the actual element SR inaccessible.
Here is a description and justification of the change that is left via comments in the function:

  // This function is used to announce a message with the screen reader.
  // The elements used in this function are set offscreen via the _hideFromLayout call
  // Setting the aria-label to the message will prompt the SR to read the message
  // Setting the textContent would allow the SR to access the offscreen element via browse mode
  // Due to existing NVDA bugs (nvaccess/nvda#10140), setting the
  // aria-label of the alert element results in the message being read twice.
  // The current workaround is to set the aria-describedby of the alert element
  // to a description element where the aria-label is set to the message.

Bug: 1006368
Change-Id: If77a89d3ca33452cf5ad9add1c1f549be9ff2dac
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1871828
Reviewed-by: Robert Paveza <Rob.Paveza@microsoft.com>
Reviewed-by: Amanda Baker <ambake@microsoft.com>
Commit-Queue: Michael Liao <michael.liao@microsoft.com>
@Adriani90
Copy link
Collaborator Author

Some other issues are:
#10840, #10548, #10096, #8971, #8735.

@feerrenrut
Copy link
Contributor

@Adriani90 please note the bug/double-speaking label.

@Adriani90
Copy link
Collaborator Author

Thanks Reef for pointing this. I want to bulk all issues here first and then add the label to them and then close this Meta issue afterwards. I agree with the label it will be easy to find them one by one.

@Adriani90
Copy link
Collaborator Author

There are 17 issues open now with the label bug/double-speaking. They can be easily filtered by label now, so I will close this issue. If someone could check if there are any duplicates there, that would be greatly appreciated. Thanks.

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

3 participants