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

regions labeled by aria-labelledby won't read with NVDA. #13307

Closed
derekriemer opened this issue Feb 4, 2022 · 12 comments · Fixed by #14303
Closed

regions labeled by aria-labelledby won't read with NVDA. #13307

derekriemer opened this issue Feb 4, 2022 · 12 comments · Fixed by #14303
Assignees
Labels
ARIA close/works-for-me p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.

Comments

@derekriemer
Copy link
Collaborator

Steps to reproduce:

  1. visit this URL.
    data:text/html,<button>outter target1</button><nav aria-labelledby="nav-1"><h2 id="nav-1">Test navigation</h2><button>inner target</button></nav>
    
  2. Hit the b key to focus the button in the region. arrowing also works but the button skips the header.
  3. Observe what NVDA syas.
  4. use object navigation to escape the region.

Actual behavior:

Upon entering, nvda does not read the labelledby but it does read the labelledby when I touch the node with object nav.

Expected behavior:

The heading is read

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

alpha-24583,61000de2

Windows version:

Windows 11 21H2 (x64) build 22000.434

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

Chrome: Version 97.0.4692.99 (Official Build) (64-bit)
Issue also repros under firefox, so rendering engine independent.

@LeonarddeR
Copy link
Collaborator

How about NVDA 2021.3?

@lukaszgo1
Copy link
Contributor

Confirmed on my side. Last version of NVDA where the heading was read as it should is NVDA 2019.2, so while this is a regression it is not a recent one.

@alexlehner86
Copy link

This bug is still an issue. I just checked with the current NVDA version 2022.1:

  • The region's label is announced if it was set with aria-label
  • The region's label is NOT announced if it was set with aria-labelledby

Please look into this and fix it soon! :-)

@brandonthomas
Copy link

Created pen for this to show issue
https://codepen.io/brandonthomas/pen/PoRbMKR

@seanbudd seanbudd added ARIA p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. labels Aug 11, 2022
michaelDCurran added a commit that referenced this issue Oct 26, 2022
… outside using quicknav or focus in browse mode (#14303)

Fixes #13307
Fixes #13996

Summary of the issue:
Some time after NVDA 2019.2, labels of landmarks and regions were no longer automatically spoken when jumping inside from outside using quick nav or focus in browse mode.
Although a label should not be spoken when moving into a landmark or region with the arrow keys if the label is from an associated node via aria-labelledby, when jumping in with quick nav / focus, it always should, as context is more important than rare duplication.

Description of user facing changes
A landmark or region's name is always automatically spoken when jumping inside from outside using quick navigation or focus in browse mode.

Description of development approach
landmark and region roles are treated the same as groupings and propertypages in getcontrolFieldSpeech. I.e. the name is always announced if it has one when entering from outside for a reason of quicknav or focus.
@Debml
Copy link

Debml commented Nov 22, 2022

@michaelDCurran - has this gotten released yet? I don't see this commit in the latest version (unless I'm looking at the wrong thing)
https://github.com/nvaccess/nvda/commits/release-2022.3.2

@AkshayKuttoor
Copy link

AkshayKuttoor commented Nov 28, 2022

Even I couldn't see the fixed for the issue in the latest NVDA version . I have tested the same in both Chrome and Firefox .

When I navigate to the regions which is labelled by aria-labelledby, NVDA screen reader is not identifying the label of the region.
Navigate to the region using arrow keys or the quick navigation key for landmarks - "D", observe NVDA doesn't identify the label of the region, just announces "region".
Note: NVDA identified the label of the region which is labelled using aria-label

In the below example ,
https://codepen.io/akshay-kuttoor/pen/gOKjaYX

NVDA identified the label of the region which is labelled using aria-label. But, same regions when I labelled using aria-labelledby , it is not identifying the label of the region.

@brandonthomas
Copy link

@michaelDCurran can we get an update on the fix for this? Doesn't look like the linked commit has shipped? Do we have an ETA?

@michaelDCurran
Copy link
Member

This fix went into NVDA mastr on Oct 27. Unfortunately this was too late for NVDA 2022.4. Therefore this will be in NVDA 2023.1. However, you could test this in NVDA alpha snapshots if you are curious.
Also please be aware that the fix deliberately only addresses speaking the labels when moving by quicknav or focus.
Announcing when moving with the arrow keys is not handled as otherwise this would cause double speaking as the label already appears in the text.

@tmthywynn8
Copy link

Would the two scenarios below be considered a regression or are these intended behaviors when the reporting of landmarks and regions is unchecked in the document formatting settings?

  1. Open this issue's page on GitHub, i.e., regions labeled by aria-labelledby won't read with NVDA. #13307.
  2. If signed in, press D three times to move to the third landmark. If not signed in, press D twice to move to the second. This should be the "Global" navigation landmark:
    • Expected (from NVDA 2022.4 behavior): The word "Global" should not be verbalized.
    • Actual (from 2023.1beta1 behavior): The word "Global" is verbalized.
  3. Press up Arrow to move out of the navigation landmark and downArrow to move back into the "Global" navigation landmark.
    • Expected (from the behavior above): NVDA should say "Global".
    • Actual: NVDA does not say "Global" unless Landmarks and regions is checked in document formatting settings.

@cizquierdof
Copy link

This bug is still an issue. I just checked with the current NVDA version 2022.1:

  • The region's label is announced if it was set with aria-label
  • The region's label is NOT announced if it was set with aria-labelledby

Please look into this and fix it soon! :-)

that's continues as a problem, regions with aria-labelledby don't announces its label, but it can be seen in region list with nvda+F7

@seanbudd
Copy link
Member

@cizquierdof which version of NVDA are you using?

@Adriani90
Copy link
Collaborator

I cannot reproduce the issue anymore with NVDA 2024.2 Beta, tested in Firefox 126, Edge 125 and Chrome canary 127.
I cannot reproduce the scenarios described by @tmthywynn8. When unchecking landmarks and regions in NVDA settings, the reporting is completely subpressed. when checking them, the reporting works as expected. I am closing this as works for me. If you are still having this issue, please comment and we can reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARIA close/works-for-me p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet