Repository: nvaccess/nvda

Issue:
NVDA keeps announcing "list item" when using say all
### 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.
NVDA keeps announcing "list item" when using say all
### 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.


Discussion:
cc: @leonardder 
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.

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).
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.
Here is the snippet from log viewer doing what @chojiro suggests in last message on this page:

<details><summary>Speech viewer snippet</summary>
<p>

```
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 

```

</p>
</details>
Here is the snippet from log viewer doing what @chojiro suggests in last message on this page:

<details><summary>Speech viewer snippet</summary>
<p>

```
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 

```

</p>
</details>
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.

>

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.

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.
@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? 
I cannot reproduce this with NVDA 2019.3 Beta 3 on all browsers either. I tested in Firefox, Chrome, IE and Edge.
@chojiro this might be related to the synthesizer you are using. Which one are you using?
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 :-)
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.
To reproduce this issue, you should also ensure that the "Allow skim reading in Say All" checkbox is checked.
And the issue is not linked to a specific synthesizer. I have reproduced it with eSpeak, OneCore, SAPI5 and IBMTTS.

I am having trouble reproducing this. Could you please set your log to input/output, reproduce the issue and attach the log?
@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:
* Ensure you have skim reading option activated in keyboard parameters.
* On this issue page, press L tow times so that browse mode cursor lands ont the first item of the STR list.
* Press NVDA+DownArrow to start SayAll
* Immediately after, press quickly UpArrow many times, say 20 times at a frequency of 5 times by second or more.

Here is the [log.txt](https://github.com/nvaccess/nvda/files/4323244/log.txt)



@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.

I am able to reproduce this now.  Am investigating further.
cc: @leonardder 
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.

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).
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.
Here is the snippet from log viewer doing what @chojiro suggests in last message on this page:

<details><summary>Speech viewer snippet</summary>
<p>

```
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 

```

</p>
</details>
Here is the snippet from log viewer doing what @chojiro suggests in last message on this page:

<details><summary>Speech viewer snippet</summary>
<p>

```
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 

```

</p>
</details>
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.

>

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.

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.
@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? 
I cannot reproduce this with NVDA 2019.3 Beta 3 on all browsers either. I tested in Firefox, Chrome, IE and Edge.
@chojiro this might be related to the synthesizer you are using. Which one are you using?
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 :-)
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.
To reproduce this issue, you should also ensure that the "Allow skim reading in Say All" checkbox is checked.
And the issue is not linked to a specific synthesizer. I have reproduced it with eSpeak, OneCore, SAPI5 and IBMTTS.

I am having trouble reproducing this. Could you please set your log to input/output, reproduce the issue and attach the log?
@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:
* Ensure you have skim reading option activated in keyboard parameters.
* On this issue page, press L tow times so that browse mode cursor lands ont the first item of the STR list.
* Press NVDA+DownArrow to start SayAll
* Immediately after, press quickly UpArrow many times, say 20 times at a frequency of 5 times by second or more.

Here is the [log.txt](https://github.com/nvaccess/nvda/files/4323244/log.txt)



@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.

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

Resolving patch:
diff --git a/source/sayAllHandler.py b/source/sayAllHandler.py
--- a/source/sayAllHandler.py
+++ b/source/sayAllHandler.py
@@ -145,9 +145,13 @@ def nextLine(self):
 				self.finish()
 			return
 
+		# Copy the speakTextInfoState so that speak callbackCommand
+		# and its associated callback are using a copy isolated to this specific line.
+		state = self.speakTextInfoState.copy()
 		# Call lineReached when we start speaking this line.
 		# lineReached will move the cursor and trigger reading of the next line.
-		def _onLineReached(obj=self.reader.obj, state=self.speakTextInfoState.copy()):
+
+		def _onLineReached(obj=self.reader.obj, state=state):
 			self.lineReached(obj, bookmark, state)
 
 		cb = speech.CallbackCommand(
@@ -155,13 +159,23 @@ def _onLineReached(obj=self.reader.obj, state=self.speakTextInfoState.copy()):
 			name="say-all:lineReached"
 		)
 
-		spoke = speech.speakTextInfo(
+		# Generate the speech sequence for the reader textInfo
+		# and insert the lineReached callback at the very beginning of the sequence.
+		# _linePrefix on speakTextInfo cannot be used here
+		# As it would be inserted in the sequence after all initial control starts which is too late.
+		speechGen = speech.getTextInfoSpeech(
 			self.reader,
 			unit=textInfos.UNIT_READINGCHUNK,
 			reason=controlTypes.REASON_SAYALL,
-			_prefixSpeechCommand=cb,
-			useCache=self.speakTextInfoState
+			useCache=state
 		)
+		speechGen = speech.GeneratorWithReturn(speechGen)
+		seq = speech._flattenNestedSequences(speechGen)
+		seq.insert(0, cb)
+		# Speak the speech sequence.
+		spoke = speech.speakWithoutPauses(seq)
+		# Update the textInfo state ready for when speaking the next line.
+		self.speakTextInfoState = state.copy()
 
 		# Collapse to the end of this line, ready to read the next.
 		try:
diff --git a/source/speech/__init__.py b/source/speech/__init__.py
--- a/source/speech/__init__.py
+++ b/source/speech/__init__.py
@@ -1061,6 +1061,12 @@ def speakTextInfo(
 		onlyInitialFields,
 		suppressBlanks
 	)
+
+	if reason == controlTypes.REASON_SAYALL:
+		# Deprecation warning: In 2021.1 speakTextInfo will no longer  send speech through speakWithoutPauses
+		# if reason is sayAll, as sayAllhandler does this manually now.
+		return _speakWithoutPauses.speakWithoutPauses(speechSequences)
+
 	speechSequences = GeneratorWithReturn(speechSequences)
 	for seq in speechSequences:
 		speak(seq, priority=priority)
@@ -1430,13 +1436,6 @@ def isControlEndFieldCommand(x):
 	if reason == controlTypes.REASON_ONLYCACHE or not speechSequence:
 		return False
 
-	if reason == controlTypes.REASON_SAYALL:
-		withoutPauses = GeneratorWithReturn(
-			_speakWithoutPauses.getSpeechWithoutPauses(speechSequence)
-		)
-		yield from withoutPauses
-		return withoutPauses.returnValue
-
 	yield speechSequence
 	return True
 


Test patch: