New issue
Advanced search Search tips

Issue 866331 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

[Orca] Accessible document events are missing

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 the attached accessible-event listener in a terminal

3. Load and reload pages in the browser

What is the expected behavior?
The event listener would print out an event when load completed or was stopped/interrupted or when a reload was triggered.

What went wrong?
The event listener does not print out any document events.

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

Documentation: https://developer.gnome.org/atk/stable/AtkDocument.html

Impacts:

1. These notifications, used in conjunction with object:state-changed:busy notifications, help Orca determine when it is "safe" to present document summaries (e.g. number of landmarks and headings on the page), begin a "say all" of the content, etc.

2. These events also help Orca quickly filter out other accessibility events (e.g. children-changed, text-changed) which are irrelevant to the user because they are being emitted as a consequence of initially loading the content.
 
document-events.py
204 bytes View Download
Labels: Needs-Triage-M70
Components: -UI UI>Accessibility
Components: -UI>Accessibility UI>Accessibility>Compatibility
Status: Available (was: Unconfirmed)
Owner: joanmari...@gmail.com
Status: Started (was: Available)
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 26

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

commit f3725369fc97658ecce074063ebf0f30e8356003
Author: Joanmarie Diggs <jdiggs@igalia.com>
Date: Wed Sep 26 18:10:36 2018

Emit ATK events for document load changes

* Implement support for Event::LOAD_COMPLETE, firing AtkDocument load-
  complete and AtkObject state-change events.
* Create Event::LOAD_START, and fire AtkObject state-change events.
* Try to filter out load changes we don't want to fire an event for, e.g.
  pages which lack size. This saves each AT from having to filter these
  (presumed) irrelevant events out.

TBR=slan@chromium.org

Bug: 866331,  866333 
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: I2f97563b5c2160793a09588481bd2bacf0f0eae1
Reviewed-on: https://chromium-review.googlesource.com/1234228
Commit-Queue: Joanmarie Diggs <joanmarie.diggs@gmail.com>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594385}
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/chrome/common/extensions/api/automation.idl
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/chrome/renderer/extensions/automation_ax_tree_wrapper.cc
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/chromecast/common/extensions_api/automation.idl
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/chromecast/renderer/extensions/automation_ax_tree_wrapper.cc
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/content/browser/accessibility/browser_accessibility_manager_auralinux.cc
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/content/browser/accessibility/browser_accessibility_manager_auralinux.h
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/content/browser/accessibility/browser_accessibility_manager_mac.mm
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/content/browser/accessibility/browser_accessibility_manager_win.cc
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/third_party/closure_compiler/externs/automation.js
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/ui/accessibility/ax_enum_util.cc
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/ui/accessibility/ax_enums.mojom
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/ui/accessibility/ax_event_generator.cc
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/ui/accessibility/ax_event_generator.h
[modify] https://crrev.com/f3725369fc97658ecce074063ebf0f30e8356003/ui/accessibility/ax_event_generator_unittest.cc

Note: the commit above addresses the most critical: load-complete. Technically, we should emit ATK "reload" and "load-stopped" events too. Orca doesn't rely upon those at the present time, but some other client might. Therefore, keeping this open for now.

Sign in to add a comment