e9c44ddb1b
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.
30 lines
1.3 KiB
TypeScript
30 lines
1.3 KiB
TypeScript
import type { JSX } from "react"
|
|
import { HeroSection } from "@/components/manifesto/sections/hero"
|
|
import { PainPointsSection } from "@/components/manifesto/sections/pain-points"
|
|
import { IndistinguishableSection } from "@/components/manifesto/sections/indistinguishable"
|
|
import { TokenCostSection } from "@/components/manifesto/sections/token-cost"
|
|
import { CognitiveLoadSection } from "@/components/manifesto/sections/cognitive-load"
|
|
import { PrinciplesSection } from "@/components/manifesto/sections/principles"
|
|
import { CoreLoopSection } from "@/components/manifesto/sections/core-loop"
|
|
import { FutureSection } from "@/components/manifesto/sections/future"
|
|
import { FinalCtaSection } from "@/components/manifesto/sections/final-cta"
|
|
import { Separator } from "@/components/ui/separator"
|
|
|
|
export default async function ManifestoPage(): Promise<JSX.Element> {
|
|
return (
|
|
<div className="bg-background text-foreground min-h-screen overflow-x-hidden">
|
|
<HeroSection />
|
|
<PainPointsSection />
|
|
<Separator className="mx-auto max-w-4xl opacity-20" />
|
|
<IndistinguishableSection />
|
|
<TokenCostSection />
|
|
<CognitiveLoadSection />
|
|
<PrinciplesSection />
|
|
<Separator className="mx-auto max-w-4xl opacity-20" />
|
|
<CoreLoopSection />
|
|
<FutureSection />
|
|
<FinalCtaSection />
|
|
</div>
|
|
)
|
|
}
|