nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.09k stars 630 forks source link

Using say-all browse mode line wrapping results in "link" reported redundantly #14335

Open jeff-horton-ho-sas opened 1 year ago

jeff-horton-ho-sas commented 1 year ago

Steps to reproduce:

The following paragraph being read by NVDA 2022.3.1 from a browser (tested with Edge 107 and Firefox 107)

<p class="govuk-body">
    The Equality and Human Rights Commission (EHRC) is
    responsible for enforcing the Public Sector Bodies (Websites
    and Mobile Applications) (No. 2) Accessibility Regulations
    2018 (the 'accessibility regulations'). If you're not happy
    with how we respond to your complaint,
    <a class="govuk-link"
       href="https://www.equalityadvisoryservice.com/"
       rel="noreferrer noopener"
    >contact the Equality Advisory and Support Service (EASS).</a>
</p>

Actual behavior:

NVDA+a
heading    level 2  Enforcement procedure
The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector   Bodies (Websites and Mobile Applications) (No. 
2) Accessibility Regulations 2018 (the   'accessibility regulations'). 
If you're not happy with how we respond to your complaint,   visited  link    contact   visited  link    the Equality Advisory and Support Service (EASS).

The virtual line breaks are added between Sector and Bodies, the and 'accessibility, contact and the (within the EASS link). This causes "visited link" to be repeated after the virtual break within the link, which is confusing when there is only one link.

Expected behavior:

NVDA+a
heading    level 2  Enforcement procedure
The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector   Bodies (Websites and Mobile Applications) (No. 
2) Accessibility Regulations 2018 (the   'accessibility regulations'). 
If you're not happy with how we respond to your complaint,   visited  link    contact    the Equality Advisory and Support Service (EASS).

When reading continuously "link" or "visited link" are not inserted after a line break in the middle of the link.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2022.3.1

Windows version:

Windows 10 Pro, Version: 21H2, Build 19044.2130

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

Firefox v107 Edge v107

Other questions

Does the issue still occur after restarting your computer?

Yes

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

Another user has reported the same behaviour with NVDA 2021.1 and Edge v104

If NVDA add-ons are disabled, is your problem still occurring?

No add-ons installed

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

michaelDCurran commented 1 year ago

Although this is somewhat by design when reading individual lines with the up and down arrows, so that you know exactly how many lines the link spans, There is no reason that sayAll needs to do this, as sayAll's job is to just read content continuously and fluently, and therefore the user does not really need to know the entire span of the link.

Adriani90 commented 5 months ago

cc: @SaschaCowley fyi, this is one effect in NVDA when elements span over multiple lines. This affects also headings, grafics, buttons, checkboxes etc.

For say all (nvda+down arrow or nvda+a) it is important to not having these roles read on every line. Jaws seems to just add as many characters per line as needed to maintain the elements on one line in the virtual document, whether it coresponds to visual presentation or not. But yeah in my view that is not a very elegant solution.

It seems at least for captions you found a solution in #16445. This one however is only related to say all, while up and down arrow navigation should still report the elements role on every line.