Skip to content

sayAll: no longer prematurely stop sayAll after turning a page.#14711

Merged
seanbudd merged 2 commits into
rcfrom
i14390
Mar 22, 2023
Merged

sayAll: no longer prematurely stop sayAll after turning a page.#14711
seanbudd merged 2 commits into
rcfrom
i14390

Conversation

@michaelDCurran

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #14390

Summary of the issue:

With the merging of pr #14070 which added sayall in tables, SayAll in Kindle for PC would fail to continue reading after turning the page.
Technical:
Some of the code in the nextLine method in sayAll was refacted into a nextLineImpl method.
However, if nextLineImpl returned false, finish would be called and nextLIne would return. This would be correct for handling the case where there was no more text, or table cells, but not the case where the page has just been turned. In fact, text sayAll already called finish when there was no more text, so calling finish again was useless in the base case, but for page turns caused sayAll to abort prematurely after the page was turned.

Description of user facing changes

NVDA no longer fails to keep reading with sayAll after crossing a page boundary.

Description of development approach

In sayAll's nextLine method, removed the call to self.finish when nextLineImpl returns False, but ensured that table sayAll's nextLineImpl does call finish itself if there is no more table cells.
In other words, the self.finish call has been moved into the specific nextLineImpl method where it is needed, rather than running more broadly.

Testing strategy:

Opened a book in Kindle for PC. Started a sayAll and ensured that NVDA continued reading after the page was turned.
Using the table on the NvDA snapshots page, ensured that NvDA read all the way across the first row using NVDA+control+alt+rightArrow, and that sayAll profile was handled correctly I.e. the synth was reset to the normal voice after sayAll completed.

Known issues with pull request:

None.

Change log entries:

New features
Changes
Bug fixes

For Developers

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • Security precautions taken.

@michaelDCurran michaelDCurran requested a review from a team as a code owner March 10, 2023 06:03
@michaelDCurran michaelDCurran requested review from seanbudd and removed request for a team March 10, 2023 06:03
@michaelDCurran michaelDCurran added this to the 2023.1 milestone Mar 10, 2023
@Brian1Gaff

Brian1Gaff commented Mar 10, 2023 via email

Copy link
Copy Markdown

@michaelDCurran

michaelDCurran commented Mar 11, 2023 via email

Copy link
Copy Markdown
Member Author

@Brian1Gaff

Brian1Gaff commented Mar 11, 2023 via email

Copy link
Copy Markdown

@seanbudd seanbudd merged commit 7edac84 into rc Mar 22, 2023
@seanbudd seanbudd deleted the i14390 branch March 22, 2023 22:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants