New issue
Advanced search Search tips

Issue 866336 link

Starred by 1 user

Issue metadata

Status: Available
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

[Orca] Accessible states missing from state set of window

Project Member Reported by joanmari...@gmail.com, Jul 23

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3500.0 Safari/537.36

Steps to reproduce the problem:
1. Launch Chrome/Chromium
  * export ACCESSIBILITY_ENABLED=1, and
  * launch with --force-renderer-accessibility

2. Launch Accerciser (an accessibility inspector for GNU/Linux)

3. Expand "Accessible" in Accerciser's Interface Viewer and examine the state set of Chrome/Chromium's window

What is the expected behavior?
Chrome/Chromium windows would have a full state set, including the following states:

* active (when the window is active)
* enabled
* iconified (when the window is minimized)
* sensitive
* showing
* visible

What went wrong?
The only state in the state set is enabled.

Did this work before? No 

Chrome version: 70.0.3500.0  Channel: n/a
OS Version: 
Flash Version: 

Compare to: Firefox (with accessibility enabled), Epiphany, any Gtk+ app

Documentation: https://developer.gnome.org/atk/stable/atk-AtkState.html#AtkStateType

Impact: Orca has no way of knowing the Chrome/Chromium window is active. Chrome/Chromium windows also claim to not be showing or visible. As a result, Orca will more often than not treat Chrome/Chromium windows as something the user is not in (and thus something which is not relevant to the user).

Notes:

There is a recentish Firefox+Gtk3 bug which can cause state active to not reliably appear in the state set when viewed by Accerciser. Other apps can be used to demonstrate the expected state set for windows.

Some apps add focusable and focused to windows. Ditto for resizable. A case could be made for also including these states when appropriate, but Orca does not look for these states in the case of a window/frame.
 
Labels: Needs-Triage-M70
Components: -UI UI>Accessibility
Cc: dmazz...@chromium.org
Components: UI>Accessibility>Compatibility
Status: Available (was: Unconfirmed)
Owner: mrobin...@igalia.com
Update: Other fixes (e.g. filling out the state set for all accessible objects) improved the situation. What remains to be done is:

* active (when the window is active)
* iconified (when the window is minimized)
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 31

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

commit def9804a21277d6039629b2905dddd9e6dd83ddf
Author: Martin Robinson <mrobinson@igalia.com>
Date: Wed Oct 31 18:15:42 2018

Add support for setting the active state on AtkObjects

When a window is focused, the ATK_STATE_ACTIVE state should be available
in the list of object states for a window. Additionally, we should
receive state change, activate, and deactivate events when focus changes.
This change adds those features, but does not produce the appropriate
events for dialog boxes, which is the second part of adding full support
for the active state.


Bug: 866336
Change-Id: I890c39ada3d368c547d3b8a0801cc90fa1e2371a
Reviewed-on: https://chromium-review.googlesource.com/c/1257831
Commit-Queue: Martin Robinson <mrobinson@igalia.com>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604333}
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/chrome/common/extensions/api/automation.idl
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/chrome/renderer/extensions/automation_ax_tree_wrapper.cc
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/chromecast/common/extensions_api/automation.idl
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/chromecast/renderer/extensions/automation_ax_tree_wrapper.cc
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/third_party/closure_compiler/externs/automation.js
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/ui/accessibility/ax_enum_util.cc
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/ui/accessibility/ax_enums.mojom
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/ui/accessibility/platform/ax_platform_node_auralinux.cc
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/ui/accessibility/platform/ax_platform_node_auralinux.h
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
[modify] https://crrev.com/def9804a21277d6039629b2905dddd9e6dd83ddf/ui/views/widget/desktop_aura/desktop_native_widget_aura.h

Sign in to add a comment