0
Files
src/ui
Joanmarie Diggs ea32bec275 Add means to expose the displayed/tab-strip URL to AXPlatformNodes
NSAccessibility expects the URL from the active, top-level document to
be exposed on the NSWindow via accessibilityDocument.  In order to
reliably identify and return the correct URL, push it from the
BrowserView to the root platform accessible object as follows:

1. Watch for TabChangedAt in BrowserView.

2. For TabChangeType::kLoadingOnly, for the active web contents which
   is no longer loading, update the accessible URL for the RootView.

3. Have the RootView set the URL on the ViewAccessibility object
   which will cause it to be added to that object's AXNodeData so it
   can be retrieved via the delegate.

4. Add getters to AXPlatformNodeDelegate and AXPlatformNodeBase, the
   latter being the superclass of the various AXPlatformNode* classes
   on macOS, Linux, and Windows).

Test: `out/.../views_unittests --gtest_filter="*AccessibleURL*"`

Test: `out/.../accessibility_unittests --gtest_filter="*AccessibleURL*"`

Test: `out/.../unit_tests --gtest_filter="*AccessibleURL*"`

Test: `out/.../browser_tests \
   --gtest_filter="*.AccessibilityDocumentExposedOnWindow*"`

Low-Coverage-Reason: COVERAGE_UNDERREPORTED

* The change in native_widget_mac_nswindow.mm is covered by the
  updated test expectations in browser_window_mac_browsertest.mm.

* Those in ax_platform_node_delegate.cc + ax_platform_node_base.cc
  are covered by tests in view_ax_platform_node_delegate_unittest.cc
  and ax_platform_node_auralinux_unittest.cc.

Bug: 363275809

Change-Id: I486d31a0630a5da78390277bd0e11d546cf9ed7c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6187085
Reviewed-by: Jayson Adams <shrike@chromium.org>
Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com>
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1411899}
2025-01-27 14:14:27 -08:00
..
2025-01-22 08:56:38 -08:00

This directory contains UI frameworks used to build various user interface features. This directory is not intended to contain UI features (such as a keyboard).