From bbc92573c11e30b94d7ced24ed487ea02eb49444 Mon Sep 17 00:00:00 2001 From: koutyuke <75959529+koutyuke@users.noreply.github.com> Date: Sat, 9 May 2026 14:28:15 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=92=84=20style(contact):=20raise=20ey?= =?UTF-8?q?ebrow=20contrast?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/ui/section-heading/section-heading.tsx | 2 +- src/widgets/contact/ui/contact-section.ui.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shared/ui/section-heading/section-heading.tsx b/src/shared/ui/section-heading/section-heading.tsx index a2a9f5c..3460837 100644 --- a/src/shared/ui/section-heading/section-heading.tsx +++ b/src/shared/ui/section-heading/section-heading.tsx @@ -13,7 +13,7 @@ export const SectionHeading = ({ align = "start", eyebrow, id, title }: SectionH

{title}

- {eyebrow ?

{eyebrow}

: null} + {eyebrow ?

{eyebrow}

: null} ); }; diff --git a/src/widgets/contact/ui/contact-section.ui.tsx b/src/widgets/contact/ui/contact-section.ui.tsx index 06f773e..cc65806 100644 --- a/src/widgets/contact/ui/contact-section.ui.tsx +++ b/src/widgets/contact/ui/contact-section.ui.tsx @@ -13,7 +13,7 @@ export const ContactSectionUI = () => {
-

Let's Contact!

+

Let's Contact!

{

-

+

気軽にのぞいたり、声をかけたり

From ade53c2e411ba9069ee572814bb11e393841b94e Mon Sep 17 00:00:00 2001 From: koutyuke <75959529+koutyuke@users.noreply.github.com> Date: Sat, 9 May 2026 18:11:03 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=90=9B=20fix(hero):=20align=20scroll?= =?UTF-8?q?=20link=20label=20with=20accessible=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/widgets/hero/ui/hero-section.test.tsx | 16 ++++++++++++++++ src/widgets/hero/ui/hero-section.ui.tsx | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/widgets/hero/ui/hero-section.test.tsx diff --git a/src/widgets/hero/ui/hero-section.test.tsx b/src/widgets/hero/ui/hero-section.test.tsx new file mode 100644 index 0000000..86cb12f --- /dev/null +++ b/src/widgets/hero/ui/hero-section.test.tsx @@ -0,0 +1,16 @@ +// @vitest-environment happy-dom + +import { cleanup, render, screen } from "@testing-library/react"; +import { afterEach, expect, test } from "vite-plus/test"; + +import { HeroSectionUI } from "./hero-section.ui"; + +afterEach(() => { + cleanup(); +}); + +test("keeps visible scroll link text in its accessible name", () => { + render(); + + expect(screen.getByRole("link", { name: "scroll down to about section" })).not.toBeNull(); +}); diff --git a/src/widgets/hero/ui/hero-section.ui.tsx b/src/widgets/hero/ui/hero-section.ui.tsx index 35c0f2d..1c5e993 100644 --- a/src/widgets/hero/ui/hero-section.ui.tsx +++ b/src/widgets/hero/ui/hero-section.ui.tsx @@ -48,7 +48,7 @@ export const HeroSectionUI = () => {
From 23e0ec73032c7d24c5b11adef312de3a0a51ec2d Mon Sep 17 00:00:00 2001 From: koutyuke <75959529+koutyuke@users.noreply.github.com> Date: Sat, 9 May 2026 18:26:52 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=8E=88=20improve(floating-nav):=20exp?= =?UTF-8?q?ose=20theme=20selection=20to=20assistive=20tech?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/floating-navigation.test.tsx | 16 ++++++++++++++++ .../floating-navigation/ui/panels/parts.tsx | 4 ++-- .../ui/panels/theme-panel.ui.tsx | 7 ++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/widgets/floating-navigation/ui/floating-navigation.test.tsx b/src/widgets/floating-navigation/ui/floating-navigation.test.tsx index 42b50f8..2860386 100644 --- a/src/widgets/floating-navigation/ui/floating-navigation.test.tsx +++ b/src/widgets/floating-navigation/ui/floating-navigation.test.tsx @@ -65,6 +65,22 @@ test("opens the theme panel and reports selected theme", async () => { expect(localStorage.getItem(storageKey.theme)).toBe(JSON.stringify("dark")); }); +test("exposes the selected theme state to assistive technology", async () => { + const user = userEvent.setup(); + + renderFloatingNavigation(); + + await user.click(screen.getByRole("button", { name: "Open navigation" })); + await user.click(screen.getByRole("button", { name: "Theme" })); + + expect(screen.getByRole("button", { name: "System" }).getAttribute("aria-pressed")).toBe("true"); + expect(screen.getByRole("button", { name: "Light" }).getAttribute("aria-pressed")).toBe("false"); + + await user.click(screen.getByRole("button", { name: "Dark" })); + + expect(screen.getByRole("button", { name: "Dark" }).getAttribute("aria-pressed")).toBe("true"); +}); + test("moves focus into the active panel when switching panels", async () => { const user = userEvent.setup(); diff --git a/src/widgets/floating-navigation/ui/panels/parts.tsx b/src/widgets/floating-navigation/ui/panels/parts.tsx index 9d25734..f9d61e2 100644 --- a/src/widgets/floating-navigation/ui/panels/parts.tsx +++ b/src/widgets/floating-navigation/ui/panels/parts.tsx @@ -29,7 +29,7 @@ export const PanelItem = ({ diff --git a/src/widgets/floating-navigation/ui/panels/theme-panel.ui.tsx b/src/widgets/floating-navigation/ui/panels/theme-panel.ui.tsx index 07c224c..c316f8f 100644 --- a/src/widgets/floating-navigation/ui/panels/theme-panel.ui.tsx +++ b/src/widgets/floating-navigation/ui/panels/theme-panel.ui.tsx @@ -32,9 +32,14 @@ export const ThemePanelUI = ({ actions: { onBack, onThemeChange }, theme }: Them onThemeChange(value)} LeftContent={