New issue
Advanced search Search tips

Issue 832289 link

Starred by 1 user

Issue metadata

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

Blocked on:
issue 904896



Sign in to add a comment

Move some accessibility table handling code from Blink to ui/accessibility

Project Member Reported by dmazz...@chromium.org, Apr 12 2018

Issue description

Right now the Blink code for table handling is very heavyweight, cumbersome, and buggy.

For example:
* Blink has separate subclasses for AXTable, AXGrid, AXTableRow, AXTableCell, AXGridCell, etc. - that's a lot of extra code
* Some confusion over whether the children of an AXTable should be only valid AXRows, or other nodes that are children of the table in the DOM but aren't valid rows. Same for rows and cells. Basically the tree structure and table structure are too tightly coupled and don't allow for authoring error.
* Every time a table node is serialized, we serialize a complete mapping from every (row,col) index to corresponding cell ID. Figuring out that mapping involves some loops, so it's very inefficient.
* We're probably not updating everything correctly when the table structure changes.

To simplify it, we could go with the following design:

* Blink no longer has special subclasses for AXTable, AXGridCell, etc.
* Blink returns information about a table's row and column count, and each cell's row and column index, plus spans of course - but no longer computes table-level or row-level information.
* On-demand, AXTree computes the mapping between row and column indexes and cell IDs, and caches it for a short time until the tree changes.

As a follow-up, computation of ARIA row and column indexes could move to AXTree, too.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 18 2018

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

commit 3d9b5b94d0649d6a2b0fb3c9e716476bec291208
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Wed Apr 18 21:36:38 2018

Introduce AXTableInfo to compute info about tables from an AXTree.

This new class computes information about a table in an AXTree,
including its dimensions, headers, and a mapping from row/column
index to a cell's node ID. It's computed from an AXTree on-demand
and cached until the tree changes.

Subsequent changes will switch browser-side code to use this
interface instead of the equivalent information provided by Blink,
and then remove some of the table-handling code from Blink.

See bug 832289 for more details on the planned refactoring.

Bug: 832289, 651614, 789748, 753125,
Change-Id: I29b31833426b69cb73266829e8f577785aa6fce6
Reviewed-on: https://chromium-review.googlesource.com/1011229
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551832}
[modify] https://crrev.com/3d9b5b94d0649d6a2b0fb3c9e716476bec291208/ui/accessibility/BUILD.gn
[add] https://crrev.com/3d9b5b94d0649d6a2b0fb3c9e716476bec291208/ui/accessibility/ax_table_info.cc
[add] https://crrev.com/3d9b5b94d0649d6a2b0fb3c9e716476bec291208/ui/accessibility/ax_table_info.h
[add] https://crrev.com/3d9b5b94d0649d6a2b0fb3c9e716476bec291208/ui/accessibility/ax_table_info_unittest.cc
[modify] https://crrev.com/3d9b5b94d0649d6a2b0fb3c9e716476bec291208/ui/accessibility/ax_tree.cc
[modify] https://crrev.com/3d9b5b94d0649d6a2b0fb3c9e716476bec291208/ui/accessibility/ax_tree.h

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 24 2018

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

commit 65582a0a4cdbd7200afa163cdfb542236e5c3a55
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Tue Apr 24 23:21:35 2018

Use AXTableInfo to dynamically compute table properties.

This is a follow-up to http://crrev.com/c/1011229, which introduced
AXTableInfo. In this change, Mac and Windows accessibility code uses
AXTableInfo to get cell IDs, column headers, and row headers, rather
than relying on those attributes from Blink.

This speeds up Blink serialization and will make it easier for our
table handling code to be even more fast and robust.

TBR=estark@chromium.org

Bug: 832289, 651614, 789748, 753125
Change-Id: I4d859e0a5973f172b1b3e587ad871607d127f6cd
Reviewed-on: https://chromium-review.googlesource.com/1012447
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553354}
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/content/browser/accessibility/browser_accessibility_cocoa.mm
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/content/browser/accessibility/browser_accessibility_manager.h
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/content/browser/accessibility/cross_platform_accessibility_browsertest.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/content/renderer/accessibility/blink_ax_tree_source.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/content/test/data/accessibility/aria/table-column-hidden-expected-blink.txt
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/ax_enum_util.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/ax_enums.mojom
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/ax_node_data.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/ax_tree_combiner_unittest.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/ax_platform_node_base.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/ax_platform_node_unittest.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/ax_platform_node_win_unittest.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/ax_system_caret_win.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/ax_system_caret_win.h
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/65582a0a4cdbd7200afa163cdfb542236e5c3a55/ui/views/accessibility/native_view_accessibility_base.h

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 12 2018

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

commit 6589a857b53023b5c12f85194583f13da2466264
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Tue Jun 12 23:10:53 2018

Delete most table and ARIA grid subclasses from Blink accessibility.

See bug 832289 for the big picture. This is just one step in a
multi-patch refactoring.

The goal of this patch is to delete most of the table and grid
related subclasses in Blink accessibility and reimplement the
behavior in AXObject and AXLayoutObject instead.

This is not meant to be more efficient yet. Some of the
functions to compute the column or row index require a full
table scan, for example - but it's no worse than before.

However, eliminating the subclasses will make it much easier
to incrementally remove functionality from Blink and move it
to ui/accessibility/ax_table_info.

In addition, this refactoring will make it easy to support
tables made out of AOM virtual nodes.

Bug: 832289
Change-Id: If9349c7d0a62dfccdbe43fdd8a2d0d127abf4601
Tbr: mkwst@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1083854
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566622}
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/WebKit/LayoutTests/accessibility/presentation-owned-elements-expected.txt
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/WebKit/LayoutTests/accessibility/table-headers-expected.txt
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/WebKit/LayoutTests/accessibility/table-headers.html
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/public/web/web_ax_object.h
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/BUILD.gn
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/accessibility_object_model_test.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_aria_grid.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_aria_grid.h
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_aria_grid_cell.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_aria_grid_cell.h
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_aria_grid_row.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_aria_grid_row.h
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_layout_object.h
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_node_object.cc
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_object.cc
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_object.h
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_table.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_table.h
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_table_cell.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_table_cell.h
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_table_column.cc
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_table_column.h
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_table_header_container.cc
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/accessibility/ax_table_header_container.h
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_table_row.cc
[delete] https://crrev.com/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19/third_party/blink/renderer/modules/accessibility/ax_table_row.h
[modify] https://crrev.com/6589a857b53023b5c12f85194583f13da2466264/third_party/blink/renderer/modules/exported/web_ax_object.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 27 2018

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

commit d42e00a2b908b813aa98b35a0ceef685f3b316cf
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Wed Jun 27 23:14:23 2018

Move Mac accessible table column and table header container code out of Blink.

On macOS, an accessible table needs not only nodes for every row, but also for
every column - and it also needs a "table header container", which has all of
the table's headers as its children.

Previously those "special" nodes were created in Blink, but they were computationally
expensive, and they cluttered up all of the non-Mac platforms.

Replace that with some new "fake" AXNodes generated by AXTableInfo with a bit of
logic to make those nodes part of the accessibility tree on Mac only.

I did plenty of manual testing with VoiceOver to be confident that this code is
working correctly.

TBR: dtrainor@chromium.org, halliwell@chromium.org
Bug: 832289
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: Idfaaf3710eb4ae4dedb4ce59da8d8da682da5dd6
Reviewed-on: https://chromium-review.googlesource.com/1100553
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570927}
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/browser/extensions/api/automation/automation_apitest.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/browser/resources/chromeos/chromevox/cvox2/background/command_handler.js
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/common/extensions/api/automation.idl
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/renderer/extensions/automation_internal_custom_bindings.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/renderer/resources/extensions/automation/automation_node.js
[add] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/test/data/extensions/api_test/automation/sites/table.html
[add] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/test/data/extensions/api_test/automation/tests/tabs/table_properties.html
[add] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chrome/test/data/extensions/api_test/automation/tests/tabs/table_properties.js
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chromecast/browser/extensions/api/automation_internal/automation_internal_api.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/chromecast/common/extensions_api/automation.idl
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/browser_accessibility_android.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/browser_accessibility_cocoa.mm
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/browser_accessibility_mac.h
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/browser_accessibility_mac.mm
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/browser_accessibility_mac_unittest.mm
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/browser_accessibility_manager_mac.mm
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/browser/accessibility/cross_platform_accessibility_browsertest.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/public/android/javatests/src/org/chromium/content/browser/webcontents/AccessibilitySnapshotTest.java
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/renderer/accessibility/blink_ax_tree_source.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-cell-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-cell-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-checked-expected-mac.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-col-attr-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-col-attr-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-col-attr-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-columnheader-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-columnheader-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-columnheader-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-dropeffect-expected-mac.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-empty-string-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-grid-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-grid-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-grid-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-grid-extra-wrap-elems-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-gridcell-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-gridcell-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-gridcell-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-illegal-val-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-illegal-val-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-level-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-level-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-menubar-expected-mac.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-orientation-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-orientation-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-orientation-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-row-attr-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-row-attr-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-row-attr-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-row-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-row-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-row-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-rowgroup-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-rowgroup-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-rowgroup-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-rowheader-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-rowheader-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-rowheader-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-rowtext-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-sort-aria-grid-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-sort-aria-grid-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-sort-aria-grid-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-sort-html-table-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-sort-html-table-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-sort-html-table-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-table-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-table-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-treegrid-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-treegrid-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-treegrid-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-undefined-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/aria-undefined-literal-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/table-column-hidden-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/aria/table-column-hidden-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/css/table-incomplete-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/caption-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/caption-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/caption-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/col-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/colgroup-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/contenteditable-descendants-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/contenteditable-descendants-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/input-text-expected-mac.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-layout-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-layout-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-layout-expected-mac.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-layout-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-simple-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-simple-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-spans-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-th-colheader-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-th-colheader-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-th-colheader-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-th-rowheader-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-th-rowheader-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-th-rowheader-expected-win.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-thead-tbody-tfoot-expected-android.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/content/test/data/accessibility/html/table-thead-tbody-tfoot-expected-blink.txt
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/third_party/closure_compiler/externs/automation.js
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/ui/accessibility/ax_node.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/ui/accessibility/ax_table_info.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/ui/accessibility/ax_table_info.h
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/ui/accessibility/ax_table_info_unittest.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/ui/accessibility/ax_tree.cc
[modify] https://crrev.com/d42e00a2b908b813aa98b35a0ceef685f3b316cf/ui/accessibility/ax_tree.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 9

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

commit abd43b974c9ab88d564394c21cb1867be46fd673
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Mon Jul 09 07:24:28 2018

Remove AXTableHeaderContainer and AXTableColumn from blink.

The previous patch (crrev.com/c/1100553) refactored the codebase to no
longer require these classes. This change removes them, rebases a couple
of layout tests, and deletes one layout test that's completely
superfluous now.

Bug: 832289
Change-Id: Ia9942113b4b740f72205d788328bdd70bc21080c
Reviewed-on: https://chromium-review.googlesource.com/1121111
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573238}
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/content/shell/test_runner/web_ax_object_proxy.cc
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/WebKit/LayoutTests/accessibility/element-role-mapping-normal-expected.txt
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/WebKit/LayoutTests/accessibility/presentation-owned-elements-expected.txt
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/WebKit/LayoutTests/accessibility/table-caption-expected.txt
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/WebKit/LayoutTests/accessibility/table-caption.html
[delete] https://crrev.com/a0cf214082a309312979042ae6505c6c8b9ab9ec/third_party/WebKit/LayoutTests/accessibility/table-header-expected.txt
[delete] https://crrev.com/a0cf214082a309312979042ae6505c6c8b9ab9ec/third_party/WebKit/LayoutTests/accessibility/table-header.html
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/public/web/web_ax_object.h
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/renderer/modules/accessibility/BUILD.gn
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/renderer/modules/accessibility/ax_layout_object.h
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/renderer/modules/accessibility/ax_object.h
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/renderer/modules/accessibility/ax_position_test.cc
[delete] https://crrev.com/a0cf214082a309312979042ae6505c6c8b9ab9ec/third_party/blink/renderer/modules/accessibility/ax_table_column.cc
[delete] https://crrev.com/a0cf214082a309312979042ae6505c6c8b9ab9ec/third_party/blink/renderer/modules/accessibility/ax_table_column.h
[delete] https://crrev.com/a0cf214082a309312979042ae6505c6c8b9ab9ec/third_party/blink/renderer/modules/accessibility/ax_table_header_container.cc
[delete] https://crrev.com/a0cf214082a309312979042ae6505c6c8b9ab9ec/third_party/blink/renderer/modules/accessibility/ax_table_header_container.h
[modify] https://crrev.com/abd43b974c9ab88d564394c21cb1867be46fd673/third_party/blink/renderer/modules/exported/web_ax_object.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 23

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

commit ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Tue Oct 23 07:34:20 2018

Provide an abstraction around AXTableInfo

Using AXTableInfo to dynamically compute some table properties
was a good idea, but the interface to it was too complicated,
it required clients to understand how AXTableInfo is computed
on-demand.

Instead, create a high-level API to retrieve table info
on AXNode that makes use of AXTableInfo behind the scenes.
That simplifies all of the code in content/browser/accessibility
and chrome/renderer/extensions that previously needed to know
how AXTableInfo worked.

Bug: 832289

Change-Id: Ie57ef9652ac471498f4c0766e9550fd8b8165794
Reviewed-on: https://chromium-review.googlesource.com/c/1145769
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601872}
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/chrome/renderer/extensions/automation_internal_custom_bindings.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/content/browser/accessibility/browser_accessibility_android.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/content/browser/accessibility/browser_accessibility_cocoa.mm
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/content/browser/accessibility/browser_accessibility_mac.mm
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/content/browser/accessibility/web_contents_accessibility_android.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/ax_node.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/ax_node.h
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/ax_table_info.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/ax_table_info.h
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/ax_table_info_unittest.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/ax_tree.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/ax_tree.h
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/platform/ax_platform_node_base.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/platform/ax_platform_node_delegate_base.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/platform/ax_platform_node_delegate_base.h
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/ecfb4fd5f5a88ad9a73e83edf1c1671b6aa83b48/ui/accessibility/platform/test_ax_node_wrapper.h

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 23

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

commit 585dd1d54cb3f8b8f7fc335a8275224fb89ea117
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Tue Oct 23 19:10:48 2018

Prefer new table interfaces in BrowserAccessibilityCocoa

BrowserAccessibilityCocoa still had some code that accessed
table attributes directly, most notably in
AXCellForColumnAndRow, which VoiceOver uses extensively
when navigating a table. Switch the code to use the
AXTableInfo-based computed table attributes instead,
which is not only more correct but a lot more compact, too.

This fixes a bug with a table that sets display:block
on some table elements, which led the Blink table code
to compute the wrong number of rows and columns for
the table.

This patch adds a new browser test for
BrowserAccessibilityCocoa to cover this case and
prevent future regressions.

Based on: http://crrev.com/c/1145769

Bug:  892060 ,832289
Change-Id: Icc5b5c305a385a2cb5f24155bfc8bd28641c85da
Reviewed-on: https://chromium-review.googlesource.com/c/1290518
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602043}
[modify] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/browser/accessibility/browser_accessibility_cocoa.h
[modify] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/browser/accessibility/browser_accessibility_cocoa.mm
[add] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/browser/accessibility/browser_accessibility_cocoa_browsertest.mm
[modify] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/test/BUILD.gn

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 9

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

commit 3ae311d85fefce69627edec7499c8ec543dc4cf6
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Fri Nov 09 19:46:27 2018

Add support for accessible tables with missing/bad data.

Previously we relied on Blink to correctly fill in the
row and column index of every cell in a table. This
tends to be expensive to do in Blink because it
requires invalidating and reserializing the entire table
if any cell changes.

Instead, try to defer as much of those calculations to
downstream to be computed when AT actually requests
table attributes.

This is more efficient, because Blink accessibility code
needs to run any time the page is updated, like when a
table is being built dynamically using JS - whereas AT
typically only queries table attributes when users
explore a table explicitly, so it makes sense to defer
computation until then.

This is also more accurate and less error-prone, as it
allows us to completely validate the table in a single
pass and fix any errors in table indexes.

Finally, a potential added benefit is that this makes it
easier to handle tables from Views or Arc++ that
don't have all of the table attributes set, we can
compute them automatically.

A follow-up change will remove the code that computes
some of these table attributes from Blink.

Bug: 832289

Change-Id: I252a592c854e47cf6d6e5bd6b7c4bc5d51775e72
Reviewed-on: https://chromium-review.googlesource.com/c/1307840
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606940}
[modify] https://crrev.com/3ae311d85fefce69627edec7499c8ec543dc4cf6/ui/accessibility/ax_node.cc
[modify] https://crrev.com/3ae311d85fefce69627edec7499c8ec543dc4cf6/ui/accessibility/ax_node.h
[modify] https://crrev.com/3ae311d85fefce69627edec7499c8ec543dc4cf6/ui/accessibility/ax_table_info.cc
[modify] https://crrev.com/3ae311d85fefce69627edec7499c8ec543dc4cf6/ui/accessibility/ax_table_info.h
[modify] https://crrev.com/3ae311d85fefce69627edec7499c8ec543dc4cf6/ui/accessibility/ax_table_info_unittest.cc

Blockedon: 904896
Project Member

Comment 10 by bugdroid1@chromium.org, Dec 5

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

commit a4f63eaa81c2a962899e1ff10db2273a7471cbed
Author: Aran Gilman <gilmanmh@google.com>
Date: Wed Dec 05 17:41:16 2018

Do not by default allow all ARIA attributes in Blink tests.

Add filters to allow specific ARIA attributes in those tests that need them but don't already have them. Also make the row and column count filters in one test more specific to exclude ARIA attributes, since those are not being tested and are not part of the test expectations.

The intent of this change is to move some of the cleanup needed by https://crrev.com/c/1351500 into smaller, separate CLs.

Bug: 832289
Change-Id: I351ac9672430dd79f3067d5e12106966a11aa37e
Reviewed-on: https://chromium-review.googlesource.com/c/1362194
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Aran Gilman <gilmanmh@google.com>
Cr-Commit-Position: refs/heads/master@{#614012}
[modify] https://crrev.com/a4f63eaa81c2a962899e1ff10db2273a7471cbed/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
[modify] https://crrev.com/a4f63eaa81c2a962899e1ff10db2273a7471cbed/content/test/data/accessibility/aria/aria-grid-extra-wrap-elems.html
[modify] https://crrev.com/a4f63eaa81c2a962899e1ff10db2273a7471cbed/content/test/data/accessibility/aria/aria-illegal-val.html
[modify] https://crrev.com/a4f63eaa81c2a962899e1ff10db2273a7471cbed/content/test/data/accessibility/aria/aria-invalid.html

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 10

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

commit d35a1698879c1fb44285b4d951189ec258886f64
Author: Aran Gilman <gilmanmh@google.com>
Date: Mon Dec 10 20:12:05 2018

Refactor code for getting computed table attributes in the Blink formatter.

Computed values are now returned even when the original node does not contain an explicitly set attribute. Restricting the computation of certain attributes to certain kinds of nodes easier is also now slightly easier to do.

The intent of this change is to move some of the cleanup needed by https://crrev.com/c/1351500 into smaller, separate CLs.

Bug: 832289
Change-Id: I91c1135b334ba020da3e5e825231533e912bfe02
Reviewed-on: https://chromium-review.googlesource.com/c/1361792
Commit-Queue: Aran Gilman <gilmanmh@google.com>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615221}
[modify] https://crrev.com/d35a1698879c1fb44285b4d951189ec258886f64/content/browser/accessibility/accessibility_tree_formatter_blink.cc
[modify] https://crrev.com/d35a1698879c1fb44285b4d951189ec258886f64/content/test/data/accessibility/aria/table-column-hidden-expected-blink.txt

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 11

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

commit aa663ca4fdbfbad7cb74882ec82ee4f58f78d441
Author: Aran Gilman <gilmanmh@google.com>
Date: Tue Dec 11 17:02:26 2018

Forward column index attribute for rows as well as cells & headers.

Bug: 832289
Change-Id: If82589e3e690fbf31b8806182e61568d8263119f
Reviewed-on: https://chromium-review.googlesource.com/c/1368945
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Aran Gilman <gilmanmh@google.com>
Cr-Commit-Position: refs/heads/master@{#615561}
[modify] https://crrev.com/aa663ca4fdbfbad7cb74882ec82ee4f58f78d441/content/renderer/accessibility/blink_ax_tree_source.cc
[modify] https://crrev.com/aa663ca4fdbfbad7cb74882ec82ee4f58f78d441/third_party/blink/renderer/modules/exported/web_ax_object.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 22

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

commit 44f7354a527d5d30212d2fe558ad82d17fe33180
Author: Aran Gilman <gilmanmh@google.com>
Date: Sat Dec 22 07:49:31 2018

Delete ARIA row and column index computation code from Blink.

Regarding the modified test: Blink forwards column index on rows when the index is not 0 as of https://crrev.com/c/1368945. This is required for downstream computation of the column index in child cells. The deleted code always returned a column index of 0 for rows, so it wasn't forwarded and the column index not printed. The new code can return non-zero values, and these will be printed if column index is requested.

If rows having a column index causes issues, the column index could be dropped in downstream code (most likely in https://cs.chromium.org/chromium/src/ui/accessibility/platform/compute_attributes.cc).

Bug: 832289
Change-Id: I116125f6015a05e67bd6e8186579c2a4b4497dfd
Reviewed-on: https://chromium-review.googlesource.com/c/1388808
Reviewed-by: Zachary Kuznia <zork@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618740}
[modify] https://crrev.com/44f7354a527d5d30212d2fe558ad82d17fe33180/content/test/data/accessibility/aria/aria-col-attr-expected-blink.txt
[modify] https://crrev.com/44f7354a527d5d30212d2fe558ad82d17fe33180/third_party/blink/renderer/modules/accessibility/accessibility_object_model_test.cc
[modify] https://crrev.com/44f7354a527d5d30212d2fe558ad82d17fe33180/third_party/blink/renderer/modules/accessibility/ax_object.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 4

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

commit 67e712a37590fe5225b0a8e244bc6741bb4d60b3
Author: Aran Gilman <gilmanmh@google.com>
Date: Fri Jan 04 19:41:39 2019

Compute row index from AXTableInfo.

Bug: 832289
Change-Id: I0edd63b5b08f34aec5512432ec2bfd1370b134df
Reviewed-on: https://chromium-review.googlesource.com/c/1393376
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Aran Gilman <gilmanmh@google.com>
Cr-Commit-Position: refs/heads/master@{#620034}
[modify] https://crrev.com/67e712a37590fe5225b0a8e244bc6741bb4d60b3/ui/accessibility/ax_node.cc
[modify] https://crrev.com/67e712a37590fe5225b0a8e244bc6741bb4d60b3/ui/accessibility/ax_table_info.cc
[modify] https://crrev.com/67e712a37590fe5225b0a8e244bc6741bb4d60b3/ui/accessibility/ax_table_info.h

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 8

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

commit 26db1c7c4e4ef0db0a3891d705a7c316c5118dde
Author: Aran Gilman <gilmanmh@google.com>
Date: Tue Jan 08 18:24:29 2019

Expose computed row and column indexes via the automation API.

Bug: 832289
Change-Id: I0a128682dd829638f21d51e48e183b70eda2e92c
Reviewed-on: https://chromium-review.googlesource.com/c/1398841
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Aran Gilman <gilmanmh@google.com>
Cr-Commit-Position: refs/heads/master@{#620802}
[modify] https://crrev.com/26db1c7c4e4ef0db0a3891d705a7c316c5118dde/chrome/renderer/extensions/automation_internal_custom_bindings.cc
[modify] https://crrev.com/26db1c7c4e4ef0db0a3891d705a7c316c5118dde/chrome/renderer/resources/extensions/automation/automation_node.js

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 8

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

commit bd13d2436dbb99e47126013f18502c8e56b63801
Author: Aran Gilman <gilmanmh@google.com>
Date: Tue Jan 08 22:00:53 2019

Compute column index for column nodes on MacOS.

Bug: 832289
Change-Id: Ie22c3c855ead2d9b4e6d77cd39cda3dfa434fc31
Reviewed-on: https://chromium-review.googlesource.com/c/1396130
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Aran Gilman <gilmanmh@google.com>
Cr-Commit-Position: refs/heads/master@{#620894}
[modify] https://crrev.com/bd13d2436dbb99e47126013f18502c8e56b63801/content/browser/accessibility/browser_accessibility_cocoa.mm
[modify] https://crrev.com/bd13d2436dbb99e47126013f18502c8e56b63801/ui/accessibility/ax_node.cc
[modify] https://crrev.com/bd13d2436dbb99e47126013f18502c8e56b63801/ui/accessibility/ax_node.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 10

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

commit 16dbbc22b675335f223a0efc39faebfbe13e465b
Author: Aran Gilman <gilmanmh@google.com>
Date: Thu Jan 10 08:27:55 2019

Remove computation of row and column indexes from AXObject and always return 0 instead.

As of https://crrev.com/c/1393376, this is handled in the browser code instead of by Blink.

The test failures in earlier patchsets were fixed by https://crrev.com/c/1398841 and https://crrev.com/c/1396130.

Bug: 832289
Change-Id: If29368b3d832d9a7303d22d789bf51d980a1badb
Reviewed-on: https://chromium-review.googlesource.com/c/1393551
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621501}
[modify] https://crrev.com/16dbbc22b675335f223a0efc39faebfbe13e465b/third_party/blink/renderer/modules/accessibility/ax_object.cc

Sign in to add a comment