Skip to content

NVDA reports "has attachment" for messages without visible attachments in Outlook #8028

@LeonarddeR

Description

@LeonarddeR

Steps to reproduce:

  1. In outlook, send yourself a message containing a picture in the message body.
  2. List the message in the Inbox

Expected behavior:

The picture is part of the message body, so NVDA shouldn't announce "has attachments".

Actual behavior:

NVDA announces has attachment. However, when you press enter on the message to open it, than shift+tab to go to the list of attachments, there simply is no such list.

Additional information

  • The attachments cell for this grid item is named "No attachments"
  • This issue is caused by the Outlook object model not only exposing explicitly added attachments, but also implicitly added ones (i.e. in a message's body).

Proposed fix

Remove the attachment checking altogether and rely on the UIA information. For this, the children cache request we use to fetch the child nodes of a grid row should no longer only list text nodes. Note that this also allows us to rely on UIA information for the importance status. I think relying on UIA here is preferred due to the following reasons:

  1. It fixes the attachments bug as pointed out above
  2. It respects different view setups for outlook. Imagine a case where one edits his view to make it expose the attachments status as text rather than as an icon. This would lead to double speaking of information.

It is not advised to rely on UIA only for the flag status, as unflagged message grid rows still expose a child node named "unflagged". This is redudant information, but can easily be worked around by filtering on the UIA Class name "FlagIcon".

System configuration:

NVDA version: 2017.4
NVDA Installed
Windows version: Windows 10 fall creators update
Outlook version: 16.0.9001.2102

Metadata

Metadata

Assignees

No one assigned

    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