From 2bac88c815353e070c38361f3e7382cc469f87c4 Mon Sep 17 00:00:00 2001 From: jzgom067 Date: Wed, 19 Aug 2026 12:16:30 -0400 Subject: [PATCH 1/2] Add skip to content button --- frontend/src/app/layout.tsx | 7 ++++- .../src/components/skip-to-content-button.tsx | 30 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 frontend/src/components/skip-to-content-button.tsx diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 2f2df2a6..be70ca9a 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -5,6 +5,7 @@ import type { Metadata } from "next"; import { Modak, Nunito } from "next/font/google"; import { CookieGuard } from "@/components/cookie-guard"; +import SkipToContentButton from "@/components/skip-to-content-button"; import Header from "@/features/header/components/header"; import ToastListener from "@/features/system-feedback/toast/listener"; import { Providers } from "@/lib/providers"; @@ -79,13 +80,17 @@ export default async function RootLayout({ >
+
- {children} + {/* The main content is wrapped to allow skip to content functionality. */} +
+ {children} +
diff --git a/frontend/src/components/skip-to-content-button.tsx b/frontend/src/components/skip-to-content-button.tsx new file mode 100644 index 00000000..a3590593 --- /dev/null +++ b/frontend/src/components/skip-to-content-button.tsx @@ -0,0 +1,30 @@ +"use client"; + +import ActionButton from "@/features/button/components/action"; +import { cn } from "@/lib/utils/classname"; + +export default function SkipToContentButton() { + const handleClick = (e?: React.MouseEvent) => { + e?.preventDefault(); + const mainContent = document.getElementById("main-content"); + if (mainContent) { + mainContent.setAttribute("tabindex", "-1"); + mainContent.focus(); + } + }; + + return ( + + ); +} From b976c0a3fa12a166a9fd8d5ce36a4aed23cb4623 Mon Sep 17 00:00:00 2001 From: jzgom067 Date: Wed, 19 Aug 2026 12:23:57 -0400 Subject: [PATCH 2/2] Change outline-none to outline-hidden --- frontend/src/app/layout.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index be70ca9a..5790383a 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -88,7 +88,7 @@ export default async function RootLayout({
{/* The main content is wrapped to allow skip to content functionality. */} -
+
{children}