Double speaking of menu items in Windows 7 Start Menu #474

Closed
nvaccessAuto opened this Issue Jan 1, 2010 · 2 comments

2 participants

@nvaccessAuto

Reported by jteh on 2009-11-16 03:14
We seem to get double speaking of menu items in the Windows 7 Start Menu. This occurs for all items except the first encountered when entering a sub-menu.

Str:

  1. Open the Start Menu.
  2. Press down arrow to move to the first item in the "Frequently Used Programs" menu.
    • Result: The item is only spoken once (correct).
  3. Press down arrow to move to the second item.
    • Result: The item is spoken twice.
    • Expected: It should only be spoken once.
  4. Find a sub-menu and open it.
    • Result: The first item is only spoken once (correct).
  5. Press down arrow to move to the second item.
    • Result: The item is spoken twice.
    • Expected: It should only be spoken once.
@nvaccessAuto

Comment 2 by mdcurran on 2010-01-29 07:05
Having investigated this problem, it seems that those lists are firing two focus winEvents when focus moves from one item to another. However, the two focus winEvents differe from each other in their childID, and this is why they are not just filtered out by winEventLimiter.
The first winEvent has a childID of the item, the second winEvent has a childID of self (0).
But, because NVDA (IAccessibleHandler.processFocusWinEvent) has special code to correct focus going to the list itself, the real focus is retreaved, and therefore we get two identical focus events.

One option is to:
create a sysListView32.MenuItem NVDAObject who's shouldAllowIAccessibleFocusEvent will be false if the item already has focus / is going to have focus.

@nvaccessAuto

Comment 3 by jteh on 2010-02-11 11:36
Fixed in r3500.
Changes:
Milestone changed from None to 2010.1
State: closed

@nvaccessAuto nvaccessAuto added the bug label Nov 10, 2015
@nvaccessAuto nvaccessAuto added this to the 2010.1 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment