Skip to content

IAccessible2 "level" object attribute not taken into account for heading levels #15881

@michaelweghorn

Description

@michaelweghorn

The "level" object attribute for IAccessible2 to specify the level of a heading is both mentioned in the Core Accessibility API Mappings specification and in the IAccessible2::groupPosition documentation.

Quoting from the latter (emphasis added):

This method is meant to describe the nature of an object's containment
structure. It's exposed by trees, tree grids, nested lists, nested
menus, but not headings, which uses the level object attribute.

However, apparently NVDA does not actually support/evaluate this object attribute in order to determine the heading level, as I noticed while working on making LibreOffice adhere more closely to platform APIs/specifications.

Steps to reproduce:

  1. start NVDA
  2. start current development version of LibreOffice including the following change that drops reporting the non-standard "heading-level" object attribute: https://gerrit.libreoffice.org/c/core/+/160347
  3. open the attached sample document heading.odt
  4. use the cursor up/down key to move between the paragraphs/headings

Actual behavior:

When the focus moves to a heading, the heading level is not spoken. NVDA e.g. just says "heading Heading 1".

Expected behavior:

The heading level (as reported by the "level" object attribute") should be announced by NVDA, as was the case without the above-mentioned LibreOffice change in place e.g. "heading level 1 Heading 1"

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

running from source

NVDA version:

git master as of commit 9cf9251

Windows version:

Windows 10

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

LibreOffice git master (24.2 alpha) as of commit 29fc0ec9930fc1c09c0e79d41c56f93ae853c054 + these 2 pending changes on top:
https://gerrit.libreoffice.org/c/core/+/160346/1
https://gerrit.libreoffice.org/c/core/+/160347/1

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

n/a

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

If NVDA add-ons are disabled, is your problem still occurring?

n/a

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

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