New issue
Advanced search Search tips

Issue 895921 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Frames containing pop-up lists or menus should have ATK_STATE_ACTIVE

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

Issue description

Steps to reproduce:
1. Launch the attached pyatspi accessibility event listener
2. Launch Chromium
3. Press Alt+F to get into the menu and down arrow
4. Give focus to the location bar and type a few letters triggering a popup list to appear

Expected results: Each time the listener prints out a state-change event for the newly-selected item, it would indicate the parent frame is active.

Actual results: Each time the listener prints out a state-change event for the newly-selected item, it indicates the parent frame is not active.
 
selection-events.py
507 bytes View Download
Project Member

Comment 1 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

Martin: Thanks!!

I can confirm the fix for the menu (step 3 in the opening report). However, the frame containing the popup list of the search/location bar seems to still lack state active.

If this is a known issue, sorry for the noise.
Yes, the omnibox uses an entirely different code path, so we'll need to do more investigation there to figure out what the proper way to ensure that it is parented by an active window.
Status: Verified (was: Untriaged)

Comment 5 Deleted

Would you like me to open a new issue for the omnibox so that we can track that?

Sign in to add a comment