Skip to content

Unable to implement fake table navigation in a list #10864

@CyrilleB79

Description

@CyrilleB79

Steps to reproduce:

In my Outlook Extended add-on V1.4, I have implemented fake table navigation in the address book results list by creating a custom class inheriting from RowWithoutCellObjects and RowWithFakeNavigation from behaviors.py.
This class implements the required method _getColumnContent as well as the optional method _getColumnHeader.
This was working with NVDA 2019.2 as well as with early Py3 alpha versions. However, this feature was broken in NVDA 2019.3.
Although documented as optional, I have had to implement _getColumnLocation to fix the issue (fixed in V1.5).

Actual behavior:

RowWithoutCellObjects._getColumnLocation is documented as optional in behaviors.py

Expected behavior:

RowWithoutCellObjects._getColumnLocation implementation in subclasses should be documented as mandatory.

An other alternative would be not to add INVISIBLE state to a _FakeTableCell if _FakeTableCell._get_location does not return a location (i.e. returns None). I do not know however how the navigator object highlight would behave in this case.

Technical background

This doc mismatch was introduced with the following commit:

Author: Leonard de Ruijter <leonardder@users.noreply.github.com>
Date:   Tue Sep 17 09:11:21 2019 +0200
    Hide invisible columns in syslistview32 lists (#9873)

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

2019.3.1

Windows version:

10

Name and version of other software in use when reproducing the issue:

N/A

Other information about your system:

N/A

Other questions

Does the issue still occur after restarting your computer?

yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

Yes. NVDA2019.2.1 is OK.

If addons are disabled, is your problem still occuring?

N/A

Did you try to run the COM registry fixing tool in NVDA menu / tools?

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions