Re-order focus events for menuitemcheckbox and menuitemradio (#16551)
Fixes #14550
Summary of the issue:
NVDA does not correctly announce checkbox or radio button menuitems when first entering submenues in Firefox or Chrome, as its announcement of the menuitem is disrupted by its announcement of the containing menu or grouping.
Description of user facing changes
Checkbox and radio button menuitems are correctly read in Chrome and Firefox.
Description of development approach
Updated FocusLossCancellableSpeechCommand.isMenuItemOfCurrentFocus to:
Detect objects with role IA2_ROLE_CHECK_MENU_ITEM or IA2.IA2_ROLE_RADIO_MENU_ITEM as well as oleacc.ROLE_SYSTEM_MENUITEM; and
Traverse up the old focus's ancestors to find the ancestor menu, instead of assuming that it will be its parent, to support grouped menuitems.