refactor: avoid deprecated views a11y api (#47674)

* refactor: use GetViewAccessibility().SetName() instead of SetAccessibleName()

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5537333

* refactor: use GetViewAccessibility().SetRole() instead of SetAccessibleRole()

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5337377

* fixup! refactor: use GetViewAccessibility().SetRole() instead of SetAccessibleRole()

---------

Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
Charles Kerr
2025-10-27 14:05:25 -05:00
committed by GitHub
parent b389377c63
commit e44b96bbd3
7 changed files with 24 additions and 10 deletions

View File

@@ -23,6 +23,7 @@
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/text_utils.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/border.h"
#include "ui/views/focus/focus_manager.h"
#include "ui/views/widget/widget.h"
@@ -40,8 +41,10 @@ AutofillPopupView::AutofillPopupView(AutofillPopup* popup,
CreateChildViews();
SetFocusBehavior(FocusBehavior::ALWAYS);
set_drag_controller(this);
SetAccessibleRole(ax::mojom::Role::kMenu);
SetAccessibleName(u"Autofill Menu");
auto& view_a11y = GetViewAccessibility();
view_a11y.SetRole(ax::mojom::Role::kMenu);
view_a11y.SetName(u"Autofill Menu");
}
AutofillPopupView::~AutofillPopupView() {

View File

@@ -14,6 +14,7 @@
#include "shell/browser/osr/osr_view_proxy.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/drag_controller.h"
#include "ui/views/focus/native_view_focus_manager.h"
#include "ui/views/widget/widget_delegate.h"
@@ -43,8 +44,10 @@ class AutofillPopupChildView : public views::View {
explicit AutofillPopupChildView(const std::u16string& suggestion)
: suggestion_(suggestion) {
SetFocusBehavior(FocusBehavior::ALWAYS);
SetAccessibleRole(ax::mojom::Role::kMenuItem);
SetAccessibleName(suggestion);
auto& view_a11y = GetViewAccessibility();
view_a11y.SetRole(ax::mojom::Role::kMenuItem);
view_a11y.SetName(suggestion);
}
// disable copy

View File

@@ -28,6 +28,7 @@
#include "ui/linux/nav_button_provider.h"
#include "ui/native_theme/native_theme.h"
#include "ui/strings/grit/ui_strings.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/controls/button/image_button.h"
#include "ui/views/style/typography.h"
#include "ui/views/widget/widget.h"
@@ -86,7 +87,7 @@ ClientFrameViewLinux::ClientFrameViewLinux()
for (auto& button : nav_buttons_) {
auto image_button = std::make_unique<views::ImageButton>();
image_button->SetImageVerticalAlignment(views::ImageButton::ALIGN_MIDDLE);
image_button->SetAccessibleName(
image_button->GetViewAccessibility().SetName(
l10n_util::GetStringUTF16(button.accessibility_id));
button.button = AddChildView(std::move(image_button));
}

View File

@@ -10,6 +10,7 @@
#include "shell/browser/ui/views/submenu_button.h"
#include "ui/base/mojom/menu_source_type.mojom.h"
#include "ui/color/color_provider.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/background.h"
#include "ui/views/layout/box_layout.h"
@@ -42,9 +43,11 @@ MenuBar::MenuBar(NativeWindow* window, RootView* root_view)
SetLayoutManager(std::make_unique<views::BoxLayout>(
views::BoxLayout::Orientation::kHorizontal));
window_->AddObserver(this);
SetAccessibleName(std::u16string(),
auto& view_a11y = GetViewAccessibility();
view_a11y.SetName(std::u16string(),
ax::mojom::NameFrom::kAttributeExplicitlyEmpty);
SetAccessibleRole(ax::mojom::Role::kMenuBar);
view_a11y.SetRole(ax::mojom::Role::kMenuBar);
}
MenuBar::~MenuBar() {

View File

@@ -17,6 +17,7 @@
#include "ui/compositor/layer.h"
#include "ui/gfx/font_list.h"
#include "ui/linux/linux_ui.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/background.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_delegate.h"
@@ -305,7 +306,8 @@ views::Button* OpaqueFrameView::CreateButton(
button->SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
button->SetCallback(std::move(callback));
button->SetAccessibleName(l10n_util::GetStringUTF16(accessibility_string_id));
button->GetViewAccessibility().SetName(
l10n_util::GetStringUTF16(accessibility_string_id));
button->SetID(view_id);
button->SetPaintToLayer();

View File

@@ -9,6 +9,7 @@
#include "ui/gfx/canvas.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/text_utils.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/animation/flood_fill_ink_drop_ripple.h"
#include "ui/views/animation/ink_drop_highlight.h"
#include "ui/views/animation/ink_drop_host.h"
@@ -26,7 +27,7 @@ SubmenuButton::SubmenuButton(PressedCallback callback,
// Don't use native style border.
SetBorder(CreateDefaultBorder());
#endif
SetAccessibleRole(ax::mojom::Role::kPopUpButton);
GetViewAccessibility().SetRole(ax::mojom::Role::kPopUpButton);
if (GetUnderlinePosition(title, &accelerator_, &underline_start_,
&underline_end_))
gfx::Canvas::SizeStringInt(GetText(), gfx::FontList(), &text_width_,

View File

@@ -22,6 +22,7 @@
#include "ui/gfx/canvas.h"
#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/gfx/scoped_canvas.h"
#include "ui/views/accessibility/view_accessibility.h"
namespace electron {
@@ -36,7 +37,7 @@ WinCaptionButton::WinCaptionButton(PressedCallback callback,
SetAnimateOnStateChange(true);
// Not focusable by default, only for accessibility.
SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
SetAccessibleName(accessible_name);
GetViewAccessibility().SetName(accessible_name);
}
WinCaptionButton::~WinCaptionButton() = default;