diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 048b4c53..211e9b32 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -34,3 +34,9 @@ jobs: - name: 🧪 QA Checks run: pnpm check:mdx && pnpm lint && pnpm typecheck && pnpm test + + - name: 🏗️ Build + run: pnpm build + + - name: ♿ Accessibility Check + run: pnpm check:a11y diff --git a/.pa11yci.json b/.pa11yci.json new file mode 100644 index 00000000..1de1549e --- /dev/null +++ b/.pa11yci.json @@ -0,0 +1,26 @@ +{ + "defaults": { + "standard": "WCAG2AA", + "runners": ["axe", "htmlcs"], + "ignore": ["color-contrast"], + "timeout": 50000, + "wait": 1000, + "chromeLaunchConfig": { + "args": ["--no-sandbox", "--disable-setuid-sandbox", "--disable-dev-shm-usage"] + }, + "threshold": 25 + }, + "urls": [ + "http://localhost:3000/en", + "http://localhost:3000/en/blog", + "http://localhost:3000/en/blog/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2", + "http://localhost:3000/en/contact", + "http://localhost:3000/en/team", + "http://localhost:3000/en/products", + "http://localhost:3000/en/products/medium-voltage-cables", + "http://localhost:3000/en/products/low-voltage-cables", + "http://localhost:3000/en/products/medium-voltage-cables/n2xs2y", + "http://localhost:3000/en/legal-notice", + "http://localhost:3000/en/privacy-policy" + ] +} diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index 2f253a5e..3a51b6df 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -3,6 +3,7 @@ import Header from '@/components/Header'; import JsonLd from '@/components/JsonLd'; import AnalyticsProvider from '@/components/analytics/AnalyticsProvider'; import ScrollDepthTracker from '@/components/analytics/ScrollDepthTracker'; +import SkipLink from '@/components/SkipLink'; import CMSConnectivityNotice from '@/components/CMSConnectivityNotice'; import { RecordModeProvider } from '@/components/record-mode/RecordModeContext'; import { RecordModeVisuals } from '@/components/record-mode/RecordModeVisuals'; @@ -100,9 +101,16 @@ export default async function Layout(props: { +
-
{children}
+
+ {children} +