Issue metadata
Sign in to add a comment
|
Related nodes not up to date when processing events for their related by sources |
||||||||||||||||||||||
Issue descriptionSuppose we have event a, which updates node a, fololowed by event b, which updates node b. Furthermore, let node a have a relationship with node b. For example, node a has an active descendant node b. Event a and event b occur within the same event loop message. Currently, if a client, such as BrowserAccessibility or automation, examine the tree after event a gets applied and fired, but before event b, node b will be out of date. In the above example, if the active descendant b changes an attribute via event b, the client won't see it when event a triggers. As a consequence, events like active descendant changed cause problems if the page author happens to set attributes after setting active descendant. This isn't limited to just active descendants, but to all relations (including relations of relations).
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e3b187672dd0ba2aeda38b5226992e8411ef3304 commit e3b187672dd0ba2aeda38b5226992e8411ef3304 Author: David Tseng <dtseng@chromium.org> Date: Wed Feb 07 02:25:01 2018 Add hooks for AXTreeDelegate when a relation target changes Problem Suppose a node a has an active descendant b. A page author might change |b| to aria-selected="true" immediately after setting |b| to be the active descendant. As a result, we have the events and actions: active descendant changed on |a| client gets event on |a| and emits output attribute changed on |b| client gets attribute changed on |b| but focus remains over |a| Solution Let the client know about changes in its related nodes. For example, changes to |b| would cause an event on |a|. Bug: 808061 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: I58a3d99d3187db348320223f0bde588015ab6f55 Reviewed-on: https://chromium-review.googlesource.com/899862 Commit-Queue: David Tseng <dtseng@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#534885} [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/chrome/renderer/extensions/automation_ax_tree_wrapper.cc [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/content/browser/accessibility/browser_accessibility_manager_android.cc [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/content/browser/accessibility/browser_accessibility_manager_mac.mm [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/content/browser/accessibility/browser_accessibility_manager_win.cc [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/ui/accessibility/ax_event_generator.cc [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/ui/accessibility/ax_event_generator.h [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/ui/accessibility/ax_event_generator_unittest.cc [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/ui/accessibility/ax_tree.cc [modify] https://crrev.com/e3b187672dd0ba2aeda38b5226992e8411ef3304/ui/accessibility/ax_tree.h
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9e3124b7b00bcce07edf062b27dc107d5f4b401 commit a9e3124b7b00bcce07edf062b27dc107d5f4b401 Author: Andrey Kosyakov <caseq@chromium.org> Date: Wed Feb 07 21:39:08 2018 Revert "Add hooks for AXTreeDelegate when a relation target changes" This reverts commit e3b187672dd0ba2aeda38b5226992e8411ef3304. Reason for revert: this likely broke telemetry_perf_unittests on Linux debug bots: https://ci.chromium.org/buildbot/chromium.linux/Linux%20Tests%20%28dbg%29%281%29/70144 To reproduce, run ./tools/perf/run_tests --browser=debug benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.browse_accessibility:tech:codesearch Original change's description: > Add hooks for AXTreeDelegate when a relation target changes > > > Problem > Suppose a node a has an active descendant b. A page author might change |b| to aria-selected="true" immediately after setting |b| to be the active descendant. > As a result, we have the events and actions: > active descendant changed on |a| > client gets event on |a| and emits output > attribute changed on |b| > client gets attribute changed on |b| but focus remains over |a| > > Solution > > Let the client know about changes in its related nodes. > For example, changes to |b| would cause an event on |a|. > > Bug: 808061 > Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation > Change-Id: I58a3d99d3187db348320223f0bde588015ab6f55 > Reviewed-on: https://chromium-review.googlesource.com/899862 > Commit-Queue: David Tseng <dtseng@chromium.org> > Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#534885} TBR=dmazzoni@chromium.org,dtseng@chromium.org,nektar@chromium.org,aleventhal@chromium.org Change-Id: Icc230ef0afa0f8b0828c573ec18c5a2eb13eeed9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 808061 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Reviewed-on: https://chromium-review.googlesource.com/906844 Reviewed-by: Andrey Kosyakov <caseq@chromium.org> Commit-Queue: Andrey Kosyakov <caseq@chromium.org> Cr-Commit-Position: refs/heads/master@{#535154} [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/chrome/renderer/extensions/automation_ax_tree_wrapper.cc [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/content/browser/accessibility/browser_accessibility_manager_android.cc [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/content/browser/accessibility/browser_accessibility_manager_mac.mm [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/content/browser/accessibility/browser_accessibility_manager_win.cc [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/ui/accessibility/ax_event_generator.cc [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/ui/accessibility/ax_event_generator.h [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/ui/accessibility/ax_event_generator_unittest.cc [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/ui/accessibility/ax_tree.cc [modify] https://crrev.com/a9e3124b7b00bcce07edf062b27dc107d5f4b401/ui/accessibility/ax_tree.h
,
Feb 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef6b480df5da00a479da222bb801596168a9c510 commit ef6b480df5da00a479da222bb801596168a9c510 Author: David Tseng <dtseng@chromium.org> Date: Mon Feb 19 12:48:42 2018 Reland: Fire events on relation sources Fixes performance regression by only sending event for non *created* tree changes. Bug: 808061 Original change's description: > Add hooks for AXTreeDelegate when a relation target changes > > > Problem > Suppose a node a has an active descendant b. A page author might change |b| to aria-selected="true" immediately after setting |b| to be the active descendant. > As a result, we have the events and actions: > active descendant changed on |a| > client gets event on |a| and emits output > attribute changed on |b| > client gets attribute changed on |b| but focus remains over |a| > > Solution > > Let the client know about changes in its related nodes. > For example, changes to |b| would cause an event on |a|. > > Bug: 808061 > Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation > Change-Id: I58a3d99d3187db348320223f0bde588015ab6f55 > Reviewed-on: https://chromium-review.googlesource.com/899862 > Commit-Queue: David Tseng <dtseng@chromium.org> > Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#534885} TBR=dmazzoni@chromium.org,dtseng@chromium.org,nektar@chromium.org,aleventhal@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: Iaf04a51602e091f9bb9767a6bb56e4a5177540d3 Reviewed-on: https://chromium-review.googlesource.com/924769 Reviewed-by: David Tseng <dtseng@chromium.org> Commit-Queue: David Tseng <dtseng@chromium.org> Cr-Commit-Position: refs/heads/master@{#537636} [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/chrome/renderer/extensions/automation_ax_tree_wrapper.cc [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/content/browser/accessibility/browser_accessibility_manager_android.cc [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/content/browser/accessibility/browser_accessibility_manager_mac.mm [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/content/browser/accessibility/browser_accessibility_manager_win.cc [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/ui/accessibility/ax_event_generator.cc [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/ui/accessibility/ax_event_generator.h [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/ui/accessibility/ax_event_generator_unittest.cc [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/ui/accessibility/ax_tree.cc [modify] https://crrev.com/ef6b480df5da00a479da222bb801596168a9c510/ui/accessibility/ax_tree.h
,
Feb 20 2018
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by dtseng@chromium.org
, Feb 1 2018