New issue
Advanced search Search tips

Issue 896392 link

Starred by 1 user

Issue metadata

Status: Verified
Owner: ----
Closed: Dec 1
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

[Orca] No accessibility events when the "Customize and control" (three dot) menu is opened

Project Member Reported by joanmari...@gmail.com, Oct 17

Issue description

Steps to reproduce:
1. Launch Chromium and Accerciser
2. In Accerciser:
   a. select Chromium in the list of applications on the left
   b. switch to the event monitor and select "Selected application"
   c. check the "object" and "window" checkboxes*
3. Alt+Tab into Chromium, then press Alt+F to open the menu

* Note, be sure you do 2b before 2c. Otherwise the subsequent event flood will be most unpleasant and you may need to kill Accerciser.

Expected results: When Alt+F is pressed, there would be some accessibility event associated with the appearance of the menu.

Actual results: When Alt+F is pressed, there are four object:state-changed:defunct events, but nothing associated with the appearance of the menu.

Impact: When the user presses Alt+F1, the menu shows up but no menu item is selected. As a result, Orca says nothing. The user has to trust it worked and press Down Arrow or the desired shortcut to access the menu items.

Notes:

As for what the event should be: Ideally, object:state-changed:showing (true) emitted by the menu. Other events wouldn't necessarily be problematic, but I need something I can work with....

Also whatever the agreed-upon solution winds up being, the inverse event(s) should be emitted when the menu is exited.
 
There are two toplevel menu items: one with role "menu bar" and one with role "menu." Which of these two should get the state-change:showing event?
Technically, anything that wasn't showing before, that suddenly becomes showing (or vice versa) should emit a state-change:showing event. That said, the menu is what I really need to emit the event. Thanks!
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/94f13968370c8746a5e17e14b46f3f67b1d9da4f

commit 94f13968370c8746a5e17e14b46f3f67b1d9da4f
Author: Martin Robinson <mrobinson@igalia.com>
Date: Fri Nov 30 20:48:41 2018

Add ATK window activation events for popups

In the accessibility tree, each popup menu and its submenus have a
native window. When using popup menus, the AtkWindow for the native
window of the active menu should always have the ATK 'active' property.
We listen to events associated with the lifetime active popup menus and
use them to properly manage the 'active' property on this constellation
of AtkWindows.

Bug:  895921 
Bug:  896392 
Change-Id: I7a5e148feb8486bab7984f19c7ee2532b1fd16f0
Reviewed-on: https://chromium-review.googlesource.com/c/1335586
Commit-Queue: Martin Robinson <mrobinson@igalia.com>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612770}
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/chrome/common/extensions/api/automation.idl
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/chrome/renderer/extensions/automation_ax_tree_wrapper.cc
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/chromecast/common/extensions_api/automation.idl
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/chromecast/renderer/extensions/automation_ax_tree_wrapper.cc
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/third_party/closure_compiler/externs/automation.js
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/ui/accessibility/ax_enum_util.cc
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/ui/accessibility/ax_enums.mojom
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/ui/accessibility/platform/ax_platform_node_auralinux.cc
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/ui/accessibility/platform/ax_platform_node_auralinux.h
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
[modify] https://crrev.com/94f13968370c8746a5e17e14b46f3f67b1d9da4f/ui/views/controls/menu/submenu_view.cc

Status: Verified (was: Untriaged)
Thanks Martin!

I can confirm we're getting the desired events and states and added support in Orca for Chromium popup menus which appear without selected children.

Closing as Verified.

Sign in to add a comment