Skip to content

Introduce table sayAll commands#13956

Closed
seanbudd wants to merge 3 commits into
masterfrom
revert-13954-revert-table-sayall
Closed

Introduce table sayAll commands#13956
seanbudd wants to merge 3 commits into
masterfrom
revert-13954-revert-table-sayall

Conversation

@seanbudd

@seanbudd seanbudd commented Jul 27, 2022

Copy link
Copy Markdown
Member

Credit @mltony
This feature was on track for release with 2022.3, however it was found to cause / uncover issues that could not be resolved quickly. Rather than delay the release of 2022.3, this feature was reverted in PR #13954.

Link to issue number:

Reverts #13954
Fixes #13469

Summary of the issue:

Feature request: add table sayAll commands to read rows and columns.

Description of how this pull request fixes the issue:

Adds 4 commands:

  • SayAll from current cell horizontally to the right.
  • SayAll from current cell vertically down.
  • Speak current column from top to bottom without moving caret.
  • speak current row from left to right without moving caret.

Additionally:

  • Refactored class _TextReader in sayAll.py:
    • Refactored out a few methods for different types of cursor and made them abstract.
    • Added implementations for review and caret cursor types and also for new table cursor type.
  • Refactored class DocumentWithTableNavigation:
    • Refactored cell moving logic as method _tableFindNewCell, which is used in both simple table commands and sayAll commands.
    • Added _TableCell class to replace 5-element tuples that contain information about table cells.

Testing strategy:

  • Tested sayall commands in Chrome, Firefox, MSWord (both browse and focus mode); tested with merged cels to check that they are handled correctly during sayAll.
  • Tested normal table navigation commands to avoid regression.
  • Tested sayAll commands in Chrome, Firefox, MSWord to avoid regressions.

Known issues with pull request:

Change log entries:

Refer to PR diff

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

@seanbudd seanbudd added this to the 2022.4 milestone Jul 27, 2022
@seanbudd seanbudd added the merge-early Merge Early in a developer cycle label Jul 27, 2022
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 4820c4a69e

@seanbudd seanbudd closed this Jul 27, 2022
@seanbudd seanbudd reopened this Jul 27, 2022
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 89001333ab

@seanbudd

Copy link
Copy Markdown
Member Author

Superseded by #14070

@seanbudd seanbudd closed this Aug 26, 2022
@seanbudd seanbudd deleted the revert-13954-revert-table-sayall branch August 26, 2022 03:53
seanbudd pushed a commit that referenced this pull request Aug 30, 2022
Fixes #13469.
Fixes #13927.

Summary of the issue:
Previous PR #13956 broke sayAll functionality in BookWorm (#13927) and therefore was reverted.
This PR undoes reverting, in other words it reintroduces table sayAll commands. It also contains a minor change that fixes sayAll in BookWorm.

Description of user facing changes
Reintroduces table sayAll commands.

Description of development approach
In my original PR #13956 I did a minor refactoring of SayAll classes, in order to avoid code reduplication and have a nice class inheritance. In order to achieve this I slightly rearranged calls to textInfo. This didn't affect functionality anywhere except for page turn detector in BookWorm.
Reverting to the original order of TextInfo calls at the cost of slightly less elegant code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-early Merge Early in a developer cycle

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Table sayAll commands

2 participants