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

NVDA omits space between blocks of text #10208

Open
annapmeyer opened this issue Sep 12, 2019 · 9 comments
Open

NVDA omits space between blocks of text #10208

annapmeyer opened this issue Sep 12, 2019 · 9 comments
Labels
app/chrome app/edge/anaheim MS browser, chromium based, replaces Spartan in 2019 by Anaheim. NVDA access via IA2. issue-tracking/crbug This issue is also tracked by another issue tracker: 'crbug'

Comments

@annapmeyer
Copy link

Steps to reproduce:

Open the attached HTML in Firefox.
example.zip

Our page has a series of buttons (implemented as a links). Each button has the same text printed on it. It's obvious visually that each one will perform the given action for a specific set of information, so sighted users don't need more info. However, we have a hidden element nested within the element to provide additional context to screenreaders about what clicking each particular button will do.

Actual behavior:

NVDA concatenates the last word in the button text and the first word in the span. So, if the button says "Click me" and the help text is "then see what happens!," NVDA will read "Click methan see what happens."

Expected behavior:

NVDA should leave the space between the two words: "Click me then see what happens." This is the behavior on Chrome. It doesn't seem like it's a Firefox bug, though, because the Firefox accessibility tree is constructed correctly, with a space between the two phrases.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2018.3.2

Windows version:

Windows 10 Enterprise

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

Firefox 69.0

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.

N/A

@Adriani90
Copy link
Collaborator

Cc: @jcsteh

@jcsteh
Copy link
Contributor

jcsteh commented Sep 12, 2019

Can't reproduce with your test case and multiple versions of Firefox. For me, NVDA reads:

link CLICK ME THEN SEE WHAT HAPPENS!

@jcsteh jcsteh closed this as completed Sep 12, 2019
@jcsteh jcsteh reopened this Sep 12, 2019
@jcsteh
Copy link
Contributor

jcsteh commented Sep 12, 2019

Oops, didn't mean to close. 😳 Can anyone else reproduce this?

@Adriani90
Copy link
Collaborator

Sorry I missed the NVDA version from the issue description.
@ameyer95 could you test this please with last NVDA alpha version? You can find it here:
https://www.nvaccess.org/files/nvda/snapshots/

I cannot reproduce this issue in Firefox 69 with NVDA alpha-18604,e295dbdd.

@peterquale
Copy link

@ameyer95, I get the same result with Chrome and NVDA. My output is "methan". (Firefox does not share this issue.)

I see many similar issues any time a sentence or other line of related text within a block level element is split with another HTML element. Most often, it is a SPAN tag that perhaps makes part of the text visually hidden, or maybe a word in a sentence is a different color. As in this example, NVDA with Chrome will output "account menu forpeter", and placement of space character anywhere in the mix of spans makes no difference.

<button id="account" aria-expanded="false" aria-controls="account-menu" data-menu="account">
    <span class="sr-only">account menu for </span> <span class="account"> Peter</span>
</button>

My first guess was that NVDA strips spaces around content in any element styled as display:block, especially if that block is within another element styled as display:block. And then perhaps NVDA does not strip spaces when an element is styled as display:inline. But, I can find no particular pattern to the missing space characters.

The lightest solution I've found is adding a before or after pseudo-class to one or more of the spans and declare content:" ", which works fine. An aria-label also works but it seems like somebody would have a good reason for this before I start patching with ARIA.

Thanks all.

@Adriani90
Copy link
Collaborator

This works correctly now with NVDA alpha-20220,1c4519a6, Chrome 83, Microsoft Edge Chromium 83 and Firefox 76. Also the example provided by @peterquale works properly now. Closing as works for me.

@Adriani90
Copy link
Collaborator

Sorry, was too fast on this. It seems the issue in the attachment still persists in Chrome 83. Reopening.

@Adriani90 Adriani90 reopened this May 25, 2020
@Adriani90
Copy link
Collaborator

It seems Edge Chromium 83 is also impacted by this.

cc: @aleventhal

@Adriani90 Adriani90 added app/chrome z app/edge (archived) use app/edge/anaheim app/edge/anaheim MS browser, chromium based, replaces Spartan in 2019 by Anaheim. NVDA access via IA2. and removed close/worksforme labels May 25, 2020
@ObjectInSpace
Copy link

Filed https://crbug.com/1088063. Thanks!

@feerrenrut feerrenrut added the issue-tracking/crbug This issue is also tracked by another issue tracker: 'crbug' label Jun 11, 2020
@seanbudd seanbudd removed the z app/edge (archived) use app/edge/anaheim label Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/chrome app/edge/anaheim MS browser, chromium based, replaces Spartan in 2019 by Anaheim. NVDA access via IA2. issue-tracking/crbug This issue is also tracked by another issue tracker: 'crbug'
Projects
None yet
Development

No branches or pull requests

7 participants