fix(web): drop nested <main> on manifesto (WCAG 1.3.1)

LocalizedPageShell at app/_components/localized-page-shell.tsx:34
already renders <main className='flex-1'>{children}</main> as the
page landmark. The manifesto/page.tsx shell was wrapping that with
its own <main>, producing nested main landmarks (axe-core:
landmark-no-duplicate-main + landmark-main-is-top-level).

Switch outer wrapper to <div>; keep styling (bg-background,
text-foreground, min-h-screen, overflow-x-hidden) intact. The
inner <main> from the shell remains the canonical landmark.

Pre-existing on origin/dev (the pre-decomposition manifesto/page.tsx
also had a top-level <main>), surfaced by PR #4202 hands-on QA
via axe-core run on /ko/manifesto.
This commit is contained in:
YeonGyu-Kim
2026-05-20 15:00:22 +09:00
parent f5d5e9801b
commit e9c44ddb1b
+2 -2
View File
@@ -12,7 +12,7 @@ import { Separator } from "@/components/ui/separator"
export default async function ManifestoPage(): Promise<JSX.Element> {
return (
<main className="bg-background text-foreground min-h-screen overflow-x-hidden">
<div className="bg-background text-foreground min-h-screen overflow-x-hidden">
<HeroSection />
<PainPointsSection />
<Separator className="mx-auto max-w-4xl opacity-20" />
@@ -24,6 +24,6 @@ export default async function ManifestoPage(): Promise<JSX.Element> {
<CoreLoopSection />
<FutureSection />
<FinalCtaSection />
</main>
</div>
)
}