Skip to content

Navigator object updates braille while navigating between FakeTableCell objects#15825

Merged
seanbudd merged 14 commits into
nvaccess:masterfrom
Emil-18:master
Nov 28, 2023
Merged

Navigator object updates braille while navigating between FakeTableCell objects#15825
seanbudd merged 14 commits into
nvaccess:masterfrom
Emil-18:master

Conversation

@Emil-18

@Emil-18 Emil-18 commented Nov 24, 2023

Copy link
Copy Markdown
Contributor

Link to issue number:

fixes #15755

Summary of the issue:

When navigating between FakeTableCell objects, braille doesn't show the new object, but instead continues to show the previous object. This is because NVDA thinks the two objects are the same (oldObj == newObj returns True)

Description of user facing changes

The user will be able to navigate FakeTableCell objects with braille

Description of development approach

Added an _isEqual method to the FakeTableCell class, that checks if the two objects has the same row number, column number, and parent, if not, it returns False

Testing strategy:

tested with the sys list view 32 control in the SAM.exe application. Braille followed the navigator object as expected

Known issues with pull request:

None so far

Code Review Checklist:

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

@LeonarddeR LeonarddeR left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch!

Comment thread source/NVDAObjects/behaviors.py Outdated
Co-authored-by: Leonard de Ruijter <leonardder@users.noreply.github.com>
@CyrilleB79

Copy link
Copy Markdown
Contributor

Thanks @Emil-18 for this fix.

Could you update the initial description with the description of the new equality test?

And could you merge the latest master. For now your PR is not able to build on CI system (appVeyor) due to merge conflict.
Once you have merged latest master, your PR will be able to be built by appVeyor. It will allow to run the automated tests on your build. And it will allow to download the installer so that you can test on your side running it as a temporary copy.

@Emil-18

Emil-18 commented Nov 24, 2023

Copy link
Copy Markdown
Contributor Author

@CyrilleB79 I have changed the changes.t2t file, but it still says I have merge conflicts. Aren't I supposed to edit it directly?

@CyrilleB79

Copy link
Copy Markdown
Contributor

@Emil-18, you should merge the latest master branch in your branch.

@burmancomp

Copy link
Copy Markdown
Contributor

Poor man's solution could be:

  1. save your work somewhere
  2. close this pull request
  3. reset your main branch to state before your changes
  4. update it with git pull
  5. make local branch for your pull request
  6. move to that branch, make your changes, commit them and push your branch: git push origin your_branch
  7. open pull request with your branch.
    Keep your local main branch up to date, merge it to your branch, and push your branch again if needed (after your changes and after your have resolved conflicts when merged main branch to your branch (at least if appveyor complains)).

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit b377afd3d1

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit b4ca2fc37a

@CyrilleB79

Copy link
Copy Markdown
Contributor

@Emil-18, there is a linting issue; for the rest, the tests are OK.

Linting issues can be found following the link "details" of appVeyor status: in the "Artifacts" page, you will find the file "Flake8.txt".
In your case, the linting is failed because of an empty line missing before the function you have added.

@Emil-18

Emil-18 commented Nov 25, 2023

Copy link
Copy Markdown
Contributor Author

@CyrilleB79 Ok. Should I update changes.t2t as well?

@CyrilleB79

Copy link
Copy Markdown
Contributor

Yes, update the change log please.

@CyrilleB79

Copy link
Copy Markdown
Contributor

@Emil-18, there are merging conflicts again, due to nvaccess/master branch going forward. Could you merge again nvaccess/master into Emil-18/master and push it?

Once you have done this, do not keep your PR in "Draft" state: please switch your PR to "Ready" state so that NV Access know that your PR is ready to review. Thanks.

Also, a tip for your future contributions and Git usage in general:
You'd better create a dedicated branch for each work/contribution rather than working in your master branch. This is a very common good practice and it allows you to work on two or more topics in parallel.
For this PR however, and in order not to restart from scratch, you can continue working with your master branch.

Comment thread user_docs/en/changes.t2t Outdated
- In Word, the landing cell will now be correctly reported when using the native Word commands for table navigation ``alt+home``, ``alt+end``, ``alt+pageUp`` and ``alt+pageDown``. (#15805, @CyrilleB79)
- NVDA now resumes audio if the configuration of the output device changes or another application releases exclusive control of the device. (#15758, #15775, @jcsteh)
- Contracted braille input works properly again. (#15773, @aaclause)
- Braille is now updated when moving the navigator object between table cells in more situations (#15755)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may want to add your GitHub's name in the change log as a credit to recognize your work and in case people (e.g. devs) have questions on this topic.

Adding your GitHub in the change log is optional. Feel free to accept the suggestion or not:

Suggested change
- Braille is now updated when moving the navigator object between table cells in more situations (#15755)
- Braille is now updated when moving the navigator object between table cells in more situations (#15755, @Emil-18)

@Emil-18 Emil-18 marked this pull request as ready for review November 27, 2023 17:56
@Emil-18 Emil-18 requested a review from a team as a code owner November 27, 2023 17:56
@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Nov 27, 2023
Comment thread source/NVDAObjects/behaviors.py Outdated
@seanbudd seanbudd merged commit ad93594 into nvaccess:master Nov 28, 2023
@nvaccessAuto nvaccessAuto added this to the 2024.1 milestone Nov 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Braille doesn't update when navigating between two FakeTableCell objects

7 participants