Skip to content

Allow again _FakeTableCell to have no location defined#10868

Merged
michaelDCurran merged 1 commit into
nvaccess:masterfrom
CyrilleB79:fakeTableCellWithoutLocation
Mar 17, 2020
Merged

Allow again _FakeTableCell to have no location defined#10868
michaelDCurran merged 1 commit into
nvaccess:masterfrom
CyrilleB79:fakeTableCellWithoutLocation

Conversation

@CyrilleB79

Copy link
Copy Markdown
Contributor

Link to issue number:

Fixes #10864

Summary of the issue:

In NVDA 2019.2.1 it was possible to define behaviors.RowWithoutCellObjects without defining column location. In NVDA 2019.3.1, the code documentation still states that RowWithoutCellObjects._getColumnLocation method is optional, but not implementing it breaks fake table navigation.

Description of how this pull request fixes the issue:

Restore fake table navigation when RowWithoutCellObjects._getColumnLocation is not implemented (overridden)

Alternative

An alternative could have been to document _get_columnLocation as required instead of optional. However, since RowWithoutCellObjects and inherits from NVDAObject which can have location set to None, it seemed important to me that _get_columnLocation remain optional, even if I do not know any case where this method is not implemented.

Testing performed:

  • Tested with Outlook Extended 1.4 that column navigation works in Outlook's address book results. No navigation object highlighter shows up during fake cell navigation since these fake cells don't have a defined location.
  • Checked in task manager "Details" processus list that table navigation still works.
  • In the same list, reduced a column width to 0 and checked that this column was skipped as expected
  • In the same list with this 0-width column, activated nav obj highlighter and went from one fake cell to another with object navigation (not in simple mode). Checked that the 0-width fake cell still shows up the highlighter rectangle (narrow vertical) when selecting it by object navigation.

Known issues with pull request:

None

Change log entry:

Section: Changes for developers or bugfixes

Allow again behaviors._FakeTableCell to have no location defined (#10864)

@CyrilleB79 CyrilleB79 marked this pull request as ready for review March 11, 2020 08:31
@CyrilleB79

Copy link
Copy Markdown
Contributor Author

@LeonarddeR
I have implemented the PR since the comments in the issue were already on code details.
Would you like to review this PR? Feel free to comment globally or in code.

Two points may be still pending:

  • is there something to do with beTransparentToMouse?
  • fake cell without defined location do not show up a nav object highlight rectangle. Do you agree with it?

PS: I did not find how t to ask you a review but in this comment.

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

Looks good to me. Lets investigate beTransparentToMouse later on.

@michaelDCurran michaelDCurran merged commit 7d2090e into nvaccess:master Mar 17, 2020
@nvaccessAuto nvaccessAuto added this to the 2020.1 milestone Mar 17, 2020
michaelDCurran added a commit that referenced this pull request Mar 17, 2020
@CyrilleB79 CyrilleB79 deleted the fakeTableCellWithoutLocation branch July 3, 2020 07:27
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.

Unable to implement fake table navigation in a list

4 participants