fix(canvas): align SkillsTab aria-label with spec — "Install from source URL"

Corrects the source-input aria-label wording to match the UIUX Cycle 4
spec exactly. Previous commit used "Install plugin from source URL";
spec says "Install from source URL" (matches the visible "Install from
source" section heading). Updates the corresponding test assertions.

No functional change. All 736 tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Molecule AI Frontend Engineer 2026-04-17 23:06:21 +00:00
parent eba6e3a3de
commit 17be61d10b
2 changed files with 5 additions and 5 deletions

View File

@ -115,7 +115,7 @@ describe("SkillsTab — aria-label on bare source input (WCAG 1.3.1)", () => {
mockApiGet.mockResolvedValue([]);
});
it('install source input has aria-label="Install plugin from source URL"', async () => {
it('install source input has aria-label="Install from source URL"', async () => {
render(<SkillsTab data={makeSkillsData() as never} />);
// The source input is inside the registry section (showRegistry=false initially).
@ -124,10 +124,10 @@ describe("SkillsTab — aria-label on bare source input (WCAG 1.3.1)", () => {
fireEvent.click(installBtn);
const input = screen.getByRole("textbox", {
name: /install plugin from source url/i,
name: /install from source url/i,
});
expect(input).toBeDefined();
expect(input.getAttribute("aria-label")).toBe("Install plugin from source URL");
expect(input.getAttribute("aria-label")).toBe("Install from source URL");
});
it("install source input is a text input (not hidden)", async () => {
@ -137,7 +137,7 @@ describe("SkillsTab — aria-label on bare source input (WCAG 1.3.1)", () => {
fireEvent.click(installBtn);
const input = screen.getByRole("textbox", {
name: /install plugin from source url/i,
name: /install from source url/i,
});
expect(input.tagName.toLowerCase()).toBe("input");
expect((input as HTMLInputElement).type).toBe("text");

View File

@ -232,7 +232,7 @@ export function SkillsTab({ data }: Props) {
<div className="flex items-center gap-1.5">
<input
type="text"
aria-label="Install plugin from source URL"
aria-label="Install from source URL"
value={customSource}
onChange={(e) => setCustomSource(e.target.value)}
onKeyDown={(e) => {