Focus the thread panel when clicking on an item in the TAC (#12410)

* Focus the thread panel when clicking on an item in the TAC

actually the 'close' button in the threads panel as it's the only
interactive element: we can improve this later when we use landmarks
& generally have better a11y.

* Undo minor refactoring

as none of it is test3ed, it's not worth it.

* add unit test

* Add matrixchat tests

* Needs awaits

* ts-ignore

* Fix test (I think...)

* Remove unnecessary value set

* Not how assignments work
This commit is contained in:
David Baker 2024-04-10 14:13:08 +01:00 committed by GitHub
parent 0daf0cfa80
commit 59395abb6b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 136 additions and 11 deletions

View file

@ -336,6 +336,15 @@ export class Helpers {
return expect(this.page.locator(".mx_ThreadPanel")).toBeVisible();
}
/**
* Assert that the thread panel is focused (actually the 'close' button, specifically)
*/
assertThreadPanelFocused() {
return expect(
this.page.locator(".mx_ThreadPanel").locator(".mx_BaseCard_header").getByTitle("Close"),
).toBeFocused();
}
/**
* Populate the rooms with messages and threads
* @param room1

View file

@ -160,4 +160,18 @@ test.describe("Threads Activity Centre", () => {
await util.assertNoTacIndicator();
});
test("should focus the thread panel close button when clicking an item in the TAC", async ({
room1,
room2,
util,
msg,
}) => {
await util.receiveMessages(room1, ["Msg1", msg.threadedOff("Msg1", "Resp1")]);
await util.openTac();
await util.clickRoomInTac(room1.name);
await util.assertThreadPanelFocused();
});
});