diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc5c988c..f7104f14 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -156,6 +156,14 @@ jobs: run: npm run docs:build && npm run package:offline - name: Check English/Hindi accessibility, CLI selector, offline search and mobile navigation in Chromium run: npm run test:browser-offline + - name: Upload accessibility audit evidence on failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: scarp-docs-accessibility-audit + path: artifacts/browser-a11y/ + if-no-files-found: ignore + retention-days: 14 - name: Attach browser failure screenshot if: failure() uses: actions/upload-artifact@v4 diff --git a/.gitignore b/.gitignore index 9c6efe2f..916c90de 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ docs/.vitepress/dist/ artifacts/ test-results/ playwright-report/ +browser-a11y/ diff --git a/README.md b/README.md index 70191b38..e89f6b30 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,8 @@ Official VitePress documentation for the experimental [Scarp Programming Languag **Install the latest published compiler:** [English: Scarp v0.0.6-alpha.1](docs/guide/installation-alpha6.md) · [हिन्दी: alpha.6 इंस्टॉलेशन](docs/hi/guide/installation-alpha6.md). Windows x64, Linux x64 GNU, and Apple Silicon archives are paired with official SHA-256 checksums; the guides also provide commands for building the immutable source tag. Earlier installation walkthroughs remain historically scoped. +**Automated accessibility auditing:** The extracted offline site is checked with pinned local axe-core in 10 bilingual light/dark/search/mobile states; CI attaches per-state WCAG A/AA findings on failures. Manual screen-reader verification remains separately tracked in [Issue #65](https://github.com/scarp-lang/scarp-docs/issues/65). + **Real browser checks:** The `browser-offline` CI job runs a pinned Chromium browser against the extracted offline archive, checking keyboard navigation and search focus return, translated page switching, dark/light preference, reduced motion, mobile layout and both English/Hindi Command Finder flows. See `npm run test:browser-offline` and [maintainer guidance](docs/project/maintenance.md). **Read the bilingual site offline:** [English offline download instructions](docs/guide/offline-docs.md) · [हिन्दी offline documentation](docs/hi/guide/offline-docs.md). A tested GitHub Actions artifact contains reproducible bundled docs, a Node.js loopback server and SHA-256 checksums. Offline docs are not compiler releases. diff --git a/docs/.vitepress/theme/components/ScarpCommandFinder.vue b/docs/.vitepress/theme/components/ScarpCommandFinder.vue index 547c95f1..b859b141 100644 --- a/docs/.vitepress/theme/components/ScarpCommandFinder.vue +++ b/docs/.vitepress/theme/components/ScarpCommandFinder.vue @@ -69,7 +69,7 @@ async function copyCommands(): Promise {