Tweak rendering of icons for accessibility (#31346)
* Tweak rendering of icons in dropdowns Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tweak rendering of icons in composer format bar Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tweak rendering of icons in jump to bottom button Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tweak rendering of icons in quick settings button Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tweak rendering of icons in left panel search Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Delint Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix margin Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update test Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tweak rendering of icons in security user settings tab Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tweak rendering of icons in space hierarchy Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update screenshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Delint Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Simplify Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tidy Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add test Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
Copyright 2025 Element Creations Ltd.
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
||||
Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
import { render, screen, fireEvent } from "jest-matrix-react";
|
||||
|
||||
import {
|
||||
GenericDropdownMenu,
|
||||
type GenericDropdownMenuItem,
|
||||
} from "../../../../src/components/structures/GenericDropdownMenu.tsx";
|
||||
|
||||
describe("GenericDropdownMenu", () => {
|
||||
it("should render check icon for checked option", async () => {
|
||||
const options: GenericDropdownMenuItem<string>[] = [
|
||||
{
|
||||
key: "selected",
|
||||
label: "Selected",
|
||||
description: "This item is selected",
|
||||
},
|
||||
{
|
||||
key: "not-selected",
|
||||
label: "Not selected",
|
||||
},
|
||||
];
|
||||
|
||||
render(
|
||||
<GenericDropdownMenu
|
||||
value="selected"
|
||||
options={options}
|
||||
onChange={jest.fn()}
|
||||
selectedLabel={() => "Selected"}
|
||||
/>,
|
||||
);
|
||||
|
||||
const trigger = screen.getByRole("button");
|
||||
fireEvent.click(trigger);
|
||||
|
||||
const dropdown = await screen.findByRole("menu");
|
||||
expect(
|
||||
dropdown.querySelector('[aria-checked="true"]')?.querySelector(".mx_GenericDropdownMenu_Option--checkIcon"),
|
||||
).toBeTruthy();
|
||||
expect(dropdown).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user