nvaccess / nvda

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

NVDA keeps announcing "list item" when using say all #10706

Closed chojiro closed 4 years ago

chojiro commented 4 years ago

Steps to reproduce:

  1. Open up for instance this https://forum.audiogames.net/forum/6/general-game-discussion/
  2. Using NVDA+A, go to a list with L, then use NVDA+A once the list has focus.
  3. Try moving to different lists as NVDA+A is active,and use arrow keys to navigate as well.

    Actual behavior:

    NVDA keeps announcing "list with x items" or "out of list", even if the cursor is not at all on a list item every time you arrow through, even when the cursor is past the beginning of the list or outside it.

    Expected behavior:

    NVDA should only speak these messages when you get to boundaries of lists, not inside them.

    System configuration

    NVDA installed/portable/running from source:

    Installed

    NVDA version:

    2019.3 beta 2

    Windows version:

    Windows 10 version 1909

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

    Google Chrome Version 79.0.3945.117 (Official Build) (64-bit) and Mozilla Firefox 72.0.1.

    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.

NVDA 2019.2.1 works as expected.

Adriani90 commented 4 years ago

cc: @leonardder

CyrilleB79 commented 4 years ago

I can also reproduce this issue on my side. Moreover, as one could expect, the issue occurs also when exiting from a table instead of a list.

feerrenrut commented 4 years ago

Could you give a snippet from speech viewer to highlight the problem please? Looking at the HTML for the page there are quite a few lists for each item in (what visually looks like a table, but isn't marked up as one).

chojiro commented 4 years ago

It actually happens everywhere. That was just as an example.

If you go to the first heading of this issue for instance, then use NVDA+A and down arrow from there repeatedly, it should repeat list item as you go down when already in the list.

Happens with landmarks too.

I can't copy it from the speech viewer, since it weirdly doesn't show up there. All the extra "list with three items" and "out of list" verbiage doesn't show, apparently.

I should add that you need to be right before the list starts when you invoke NVDA+A. So, in this case, on the first heading before the list.

CyrilleB79 commented 4 years ago

Here is the snippet from log viewer doing what @chojiro suggests in last message on this page:

Speech viewer snippet

``` main landmark nvaccess visited link / nvda heading level 1 heading level 1 visited link nvaccess heading level 1 / heading level 1 visited link nvda list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 heading level 1 / heading level 1 visited link nvda list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list heading level 1 visited link nvda list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account list with 3 items link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code list with 3 items button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 list with 3 items link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 list with 3 items button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 list with 3 items link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 visited link Wiki link Security Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 visited link Wiki link Security visited link Insights clickable visited link New issue heading level 1 NVDA keeps announcing "list item" when using say all #10706 Open ```

CyrilleB79 commented 4 years ago

Here is the snippet from log viewer doing what @chojiro suggests in last message on this page:

Speech viewer snippet

``` main landmark nvaccess visited link / nvda heading level 1 heading level 1 visited link nvaccess heading level 1 / heading level 1 visited link nvda list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 heading level 1 / heading level 1 visited link nvda list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list heading level 1 visited link nvda list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository list with 3 items clickable button collapsed subMenu Watch link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account list with 3 items link 141 users are watching this repository button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code list with 3 items button Unstar this repository link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 list with 3 items link 802 users starred this repository button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 list with 3 items button Fork your own copy of nvaccess/nvda to your account link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 list with 3 items link 346 users forked this repository out of list Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 visited link Wiki link Security Repository navigation landmark visited link Code visited link current page Issues 2,266 visited link Pull requests 85 link Actions link Projects 4 visited link Wiki link Security visited link Insights clickable visited link New issue heading level 1 NVDA keeps announcing "list item" when using say all #10706 Open ```

chojiro commented 4 years ago

Speech viewer is inadequate for the task.

Looking at your snippet, it doesn't do it, so either you're not encountering the problem with beta 3 or your speech viewer is omitting it as well, like mine. That's why I didn't include my snippet, since it doesn't actually prove anything.

It speaks for instance "list with three items" every time you arrow down. Speech viewer doesn't show that. It just shows each list item as is, with no extra verbiage before it. That's the expected behavior.

So, for instance, in the "Steps to reproduce", using arrow keys when NVDA+A is invoked from the heading should produce: List with three items 1. Open up for instance this https://forum.audiogames.net/forum/6/general-game-discussion/ List with three items 2. Using NVDA+A, go to a list with L, then use NVDA+A once the list has focus. List with three items 3. Try moving to different lists as NVDA+A is active,and use arrow keys to navigate as well.

Still, what speech viewer shows and what actually is being said are two different things in this case. Speech viewer shows it as it should have been said, but doesn't show that "list with three items" is being said for each press of the arrow key.

If you let it read on its own, it doesn't do this, only when you use arrow keys to navigate. Naturally, make sure skim reading is enabled in keyboard settings.

I just went into storage at work and pulled out a new laptop for the sake of reproducing this, and installing Beta 3 I see the same. Speech viewer doesn't show the extra verbiage here either compared with what NVDA actually announces.

Hopefully someone can actually get it to reproduce and fix it.

CyrilleB79 commented 4 years ago

Yes, I have encountered the issue during the speech viewer snippet and this snippet proves that the issue is present. Indeed, during the snippet registration, I have only pressed NVDA+DownArrow and then repeatedly DownArrow. We should have expected the "list with 3 items" announcement only one time whereas we can see it is spoken 18 times. And we are clearly in the same list, not in another list of the page. In realty I cannot hear these 18 announcements but only 5 of them because all happens in 3-4 seconds and probably some speech is skipped when pressing the DownArrow many times.

chojiro commented 4 years ago

Indeed.

Seems to generally happen when NVDA is inside any kind of element, like tables, landmarks, etc, with the same result that the beginning announcement is spoken repeatedly as you arrow down.

feerrenrut commented 4 years ago

@chojiro I'm not able to reproduce what you are describing in either Firefox or Chrome. Which browser are you using? Can you please restart your computer, and restart NVDA with addons disabled and test again?

Adriani90 commented 4 years ago

I cannot reproduce this with NVDA 2019.3 Beta 3 on all browsers either. I tested in Firefox, Chrome, IE and Edge.

Adriani90 commented 4 years ago

@chojiro this might be related to the synthesizer you are using. Which one are you using?

Adriani90 commented 4 years ago

Ok after further testing I managed to reproduce it. @feerrenrut while in say all, you have to press down arrow before NVDA passes the first line of the container. Steps I took:

  1. Open NVDA with lists enabled in document formating settings
  2. In browse mode in any browser, navigate to a list, place the virtual cursor just one line before the list begins
  3. Press nvda+a (laptop keyboard layout)
  4. Press down arrow before NVDA passes the first line or paragraph of the container

Actual behavior: NVDA repeats list with x elements

expected behavior: NVDA should report the first line of the container.

My guess is that the focus is not moving as fast as the read all speech buffer, so NVDA still assumes you are out of the list although the virtual cursor is on the first line of the list item. If lists or tables are nested, then you will hear ofcourse "list with x items" multiple times.

When NVDA passes the first paragraph or line of the container and you press down arrow, the issue is not reproducible anymore. So you have to be quite fast :-)

Adriani90 commented 4 years ago

and I just noticed that github automatically created a list out of the steps to reprocue, so you can reproduce it with this list in my comment above. It might be possible that reproducing this issue depends also on the number of characters that you set up for a line in browse mode settings of NVDA. I set it to 250 character for example.

CyrilleB79 commented 4 years ago

To reproduce this issue, you should also ensure that the "Allow skim reading in Say All" checkbox is checked.

CyrilleB79 commented 4 years ago

And the issue is not linked to a specific synthesizer. I have reproduced it with eSpeak, OneCore, SAPI5 and IBMTTS.

michaelDCurran commented 4 years ago

I am having trouble reproducing this. Could you please set your log to input/output, reproduce the issue and attach the log?

CyrilleB79 commented 4 years ago

@michaelDCurran: Did you check skim reading option? It is required to reproduce this issue (info in comments but not in original STR) An easy way to reproduce it:

Here is the log.txt

CyrilleB79 commented 4 years ago

@michaelDCurran Another idea why you succeed in reproducing this issue: Probably you have rate boost on and a very high voice speed. Try to reproduce with OneCore without rate boost and with low voice speed (i.e. 50). With this voice speed it is very easy to reproduce.

michaelDCurran commented 4 years ago

I am able to reproduce this now. Am investigating further.