Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows 10/11 Calculator: NVDA does not announce the entire expression when pasting it from the clipboard #16573

Closed
josephsl opened this issue May 18, 2024 · 0 comments · Fixed by #16672
Labels
p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority platform/Windows11 Issues specific to Windows 11 triaged Has been triaged, issue is waiting for implementation.

Comments

@josephsl
Copy link
Collaborator

Hi,

Discussed on the following NVDA users list thread: https://nvda.groups.io/g/nvda/topic/nvda_2024_2_beta_1_and/106097471

Steps to reproduce:

Prerequisite: Windows 10 or 11:

  1. Open Notepad or other text editors or move to an edit field.
  2. Type a number or an expression (say, 12.34).
  3. Copy the number to the clipboard.
  4. Open Calculator.
  5. Press Control+V to paste the copied nubmer into the display field.

Actual behavior:

NVDA does not announce the pasted number/expression completely (for example, NVDA says "12" when pasting 12.34).

Expected behavior:

NVDA announces the pasted number completely.

NVDA logs, crash dumps and other attachments:

None

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

alpha-31971,c5954630 x86

Windows version:

Windows 11 23H2 beta (22635.3640)

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

Windows Calculator 11.2403.6.0

Other information about your system:

Used as a development workstation

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.

Reproducible with 2024.2 (beta) and earlier

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

Yes

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

N/A

Technical information:

When the display field (housing expressions) change, both UIA notification and property/name change events are fired. At the moment NVDA ignores name change event except in specific cases; name change event coming from display field is ignored. When a number or an expression is pasted from the clipboard, NVDA will report whatever the UIA notification says, and unfortunately, the display string reported by this event is incomplete (more so if numbers after the decimal point are present). Unlike notification event, name change event does report the entire number/expression, but NVDA will catch it if the focus is on the display field (effect of selective UIA event registration).

There are at least two possible solutions, none of which will resolve this issue completely:

  1. Allow limited handling of name change event in the display (calculator results) field. This works if focus is on the display field itself.
  2. In UIA notification event handler, check both the display string and the field name/value for the element raising the notification. This doesn't work as the name of the element firing this event is set to an empty string.

This requires either a fix from Microsoft to refine Calculator's UIA notification event, or revisiting the decision to set event registration to selective in Windows 11 22H2 and later and subsequent issues identified. If we have no intention to revisit selective event registration decision, then the next best thing would be alerting Microsoft folks about UIA notification display string issue (if Microsoft does say notification event does present the entire number (say, "12.34" instead of "12"), then the ball comes back to our side of the court.

Thanks.

@seanbudd seanbudd added p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. platform/Windows11 Issues specific to Windows 11 labels May 20, 2024
TristanBurchett added a commit to TristanBurchett/nvda that referenced this issue Jun 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority platform/Windows11 Issues specific to Windows 11 triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
2 participants