commit 3e897c3b0cfada1e877fac66da47f63774c969e7
parent b4b15b854d83bf32f3307b3f80de415794a1cef4
Author: Giulia Cardieri <gcardieri@mozilla.com>
Date: Fri, 5 Dec 2025 19:03:49 +0000
Bug 2002479 - Update chatbot shortcut test due to a11y regression bug. r=yjamora,ai-frontend-reviewers,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D274165
Diffstat:
3 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/browser/components/genai/GenAI.sys.mjs b/browser/components/genai/GenAI.sys.mjs
@@ -395,7 +395,18 @@ export const GenAI = {
}
aiActionButton.initialized = true;
+ const setAIButtonAriaLabel = chatProvider => {
+ document.l10n.setAttributes(aiActionButton, "genai-shortcut-button", {
+ provider: chatProvider.name,
+ });
+ };
+
const document = aiActionButton.ownerDocument;
+ const initialChatProvider = this.chatProviders.get(lazy.chatProvider);
+ setAIButtonAriaLabel(initialChatProvider);
+ const initialChatProviderName = {
+ name: initialChatProvider.name,
+ };
const buttonActiveState = "icon";
const buttonDefaultState = "icon ghost";
const chatShortcutsOptionsPanel = document.getElementById(
@@ -460,8 +471,12 @@ export const GenAI = {
const vbox = chatShortcutsOptionsPanel.querySelector("vbox");
vbox.innerHTML = "";
- const chatProvider = this.chatProviders.get(lazy.chatProvider);
const showWarning = this.isContextTooLong(aiActionButton.data.selection);
+ const chatProvider = this.chatProviders.get(lazy.chatProvider);
+
+ if (initialChatProviderName !== chatProvider.name) {
+ setAIButtonAriaLabel(chatProvider);
+ }
// Show warning if selection is too long
if (showWarning) {
diff --git a/browser/components/genai/tests/browser/browser_chat_shortcuts.js b/browser/components/genai/tests/browser/browser_chat_shortcuts.js
@@ -137,9 +137,10 @@ add_task(async function test_show_shortcuts() {
);
let beforeClick = Glean.genaiChatbot.shortcutsExpanded.testGetValue();
- EventUtils.sendMouseEvent({ type: "click" }, shortcuts);
+ shortcuts.click();
await BrowserTestUtils.waitForEvent(popup, "popupshown");
Assert.equal(popup.state, "open", "Popup open with click");
+
let afterClick = Glean.genaiChatbot.shortcutsExpanded.testGetValue();
Assert.equal(
afterClick.length,
@@ -213,7 +214,7 @@ add_task(async function test_show_shortcuts_second_tab() {
const stub = sandbox.stub(GenAI, "addAskChatItems");
const shortcuts = document.querySelector("#ai-action-button");
- EventUtils.sendMouseEvent({ type: "click" }, shortcuts);
+ shortcuts.click();
Assert.equal(stub.callCount, 1, "Shortcuts added on select");
Assert.equal(stub.firstCall.args[0], browser, "Got correct browser");
@@ -271,7 +272,7 @@ add_task(async function test_show_warning_label() {
);
// Click button
- EventUtils.sendMouseEvent({ type: "click" }, aiActionButton);
+ aiActionButton.click();
const chatShortcutsOptionsPanel = document.getElementById(
"chat-shortcuts-options-panel"
diff --git a/browser/locales/en-US/browser/genai.ftl b/browser/locales/en-US/browser/genai.ftl
@@ -70,6 +70,9 @@ genai-menu-remove-provider =
.label = Remove { $provider }
genai-menu-remove-sidebar =
.label = Remove from Sidebar
+# $provider (string) - name of the AI chat provider
+genai-shortcut-button =
+ .aria-label = Ask { $provider }
genai-menu-new-badge = New
genai-menu-summarize-page = Summarize Page