# Week 6 Implementation Plan: Pages & Final Testing > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** Verify existing About and Contact pages meet accessibility & quality standards, create 404 page, conduct end-to-end testing, and prepare for production. **Architecture:** Week 6 builds on the complete Week 1-5 foundation by auditing existing pages (About, Contact) for WCAG 2.1 AA compliance and adding the missing 404 error page. No new dependencies, no component refactoring — quality assurance and final page addition. **Tech Stack:** Hugo, Tailwind CSS, Alpine.js, form components from Week 4, animations from Week 5, accessibility standards from all weeks. --- ## File Structure Before implementing, here's what will be checked/created: ### Files to Audit (Already Exist) **`content/en/about.md`** — Verify WCAG 2.1 AA compliance - Check heading hierarchy - Verify keyboard navigation on any links - Screen reader test - Responsive design check - Dark/light mode test **`content/it/about.md`** — Verify WCAG 2.1 AA compliance - Same checks as English version - Verify i18n strings used correctly - Language switcher works **`content/en/contact.md`** — Verify WCAG 2.1 AA compliance - Verify form fields are keyboard accessible - Check form labels properly associated - Test form submission - Screen reader test on form **`content/it/contact.md`** — Verify WCAG 2.1 AA compliance - Same checks as English version - Form labels in Italian - Language switcher works ### Files to Create **`layouts/404.html`** (50-100 lines) - 404 error page - Friendly message - Navigation links (home, articles, contact) - Multilingual support (EN/IT) - Accessible heading hierarchy - Keyboard navigable links ### Files to Modify (if needed) **`i18n/en.yaml` and `i18n/it.yaml`** - Add i18n strings for 404 page (if not already present) --- ## Tasks ### Task 1: Set Up Feature Branch **Files:** - Git branch: `week-6-pages` - [ ] **Step 1: Create feature branch from master** ```bash git checkout master git pull git checkout -b week-6-pages ``` - [ ] **Step 2: Verify branch is clean** ```bash git status ``` Expected: "On branch week-6-pages" and "nothing to commit, working tree clean" - [ ] **Step 3: Start npm watch mode** ```bash npm run watch ``` Expected: Webpack/Tailwind watcher starts. Keep this running during development. --- ### Task 2: Audit About Page (English) for Accessibility Compliance **Files:** - Audit: `content/en/about.md` (already exists) - [ ] **Step 1: Open the existing About page** ```bash cat content/en/about.md ``` Review current content structure and metadata. - [ ] **Step 2: Start Hugo server for testing** ```bash hugo server ``` Navigate to http://localhost:1313/en/about/ - [ ] **Step 3: Test keyboard navigation** - Press Tab repeatedly through the page - Verify focus moves logically (top-to-bottom, left-to-right) - Check that all links are reachable via Tab - Verify focus indicators visible - No keyboard traps Expected: Full page navigable via keyboard. - [ ] **Step 4: Test heading hierarchy** Open browser DevTools. Check elements: - Verify one h1 (page title) - Check h2, h3 follow logical order (no skips like h1 → h3) - Verify all headings are semantic `

` through `

` (not divs with large text) Expected: Proper heading hierarchy (WCAG 2.1 1.3.1). - [ ] **Step 5: Screen reader spot-check** Use VoiceOver (Mac) or NVDA (Windows): - Navigate to About page - Verify page title announced - Verify headings announced with level - Verify all links announced with context - Check that main content is readable Expected: Screen reader users can understand page structure. - [ ] **Step 6: Test color contrast** Use WebAIM Contrast Checker or Chrome DevTools: - Check body text color vs background (should be ≥4.5:1) - Check link color vs background (should be ≥4.5:1) - Test in both light and dark modes Expected: All text meets WCAG AA (4.5:1 minimum). - [ ] **Step 7: Test responsive design** Set viewport to: - 320px (mobile) - 768px (tablet) - 1200px (desktop) Verify: - Content readable at all sizes - Links/buttons have adequate touch targets (≥44px) - No horizontal scroll - Layout adapts appropriately Expected: Responsive at all breakpoints. - [ ] **Step 8: Test dark/light mode** Toggle dark/light mode in header. Verify: - All text readable in both modes - Focus indicators visible in both modes - No contrast issues - Links visible Expected: Works in both themes. - [ ] **Step 9: Document findings** If any issues found, note them. Expected: 0 issues (page should already comply). - [ ] **Step 10: No commit needed (audit only)** If changes are needed to fix issues, commit with message: `fix: improve About page accessibility` --- ### Task 3: Audit About Page (Italian) for Accessibility Compliance **Files:** - Audit: `content/it/about.md` (already exists) - [ ] **Step 1: Review Italian About page** ```bash cat content/it/about.md ``` Verify it mirrors English version structure. - [ ] **Step 2: Navigate to Italian About page** In browser (Hugo server still running): Navigate to http://localhost:1313/it/about/ - [ ] **Step 3: Test keyboard navigation** - Press Tab repeatedly through the page - Verify focus moves logically - All links keyboard accessible - Focus indicators visible - No keyboard traps Expected: Fully navigable via keyboard, same as English version. - [ ] **Step 4: Test heading hierarchy** Same as Task 2, Step 4: - One h1 - h2/h3 follow logical order - No skipped heading levels Expected: Proper hierarchy maintained in translation. - [ ] **Step 5: Test language switcher** From English About page (/en/about/), click language switcher. Expected: Navigate to Italian About page (/it/about/). From Italian About page, click language switcher. Expected: Navigate to English About page (/en/about/). - [ ] **Step 6: Screen reader test (Italian)** Use VoiceOver or NVDA: - Navigate to Italian About page - Verify page title announced in context - Verify headings announced - Verify links make sense in Italian - Verify no untranslated UI strings Expected: Screen reader can navigate Italian page effectively. - [ ] **Step 7: Test color contrast (Italian)** Same as Task 2, Step 6 — contrast requirements apply to Italian page too. Expected: Same contrast ratios as English version (inherited CSS). - [ ] **Step 8: Test responsive design (Italian)** Same as Task 2, Step 7 — responsive design applies to Italian page too. Expected: Same responsive behavior as English. - [ ] **Step 9: Test dark/light mode (Italian)** Same as Task 2, Step 8 — theme switching applies to Italian page too. Expected: Both themes work on Italian page. - [ ] **Step 10: Document findings** If any issues found (untranslated strings, broken links, etc.), note them. Expected: 0 issues (page should already comply). - [ ] **Step 11: No commit needed (audit only)** If fixes are needed, commit with message: `fix: improve Italian About page accessibility` --- ### Task 4: Audit Contact Page (English) for Accessibility Compliance **Files:** - Audit: `content/en/contact.md` (already exists) - [ ] **Step 1: Review the existing Contact page** ```bash cat content/en/contact.md ``` Review content structure and verify form is embedded. - [ ] **Step 2: Navigate to Contact page** In browser (Hugo server still running): Navigate to http://localhost:1313/en/contact/ - [ ] **Step 3: Test form keyboard navigation** - Tab through all form inputs - Verify focus moves in logical order (top-to-bottom) - Test Shift+Tab to move backward - Press Enter on submit button - Verify all inputs are reachable via keyboard Expected: All keyboard navigation works, no traps, form fully accessible. - [ ] **Step 4: Test form field labels** For each form input, verify: - Label is associated with input (check for `