### Omoluabi Accessibility Audit (WCAG 2.2 AA) Scope: Current Astro site as of this commit. Focus on perceivable, operable, understandable, and robust criteria for Nigerians in NL and Dutch partners. --- ### Executive summary - **Overall**: Solid semantic base with clear landmarks in `src/layouts/BaseLayout.astro`. Reduced-motion support exists in `src/styles/global.css`. Key gaps: language/i18n markup, skip links, menu ARIA, carousel semantics, form error/ARIA, dialog semantics, and strict CSP readiness. - **Risk**: Medium → High for navigation/keyboard and language; Low → Medium for contrast on image/gradient backgrounds. --- ### High-priority issues (fix now) 1) Missing skip link + focus target - File: `src/layouts/BaseLayout.astro` - Snippet (add just inside `` and set `id` on `
`): ```astro Skip to main content ...
``` - Rationale: Allows keyboard users to bypass repeated navigation (WCAG 2.4.1, 2.4.3). 2) Page language + `hreflang` - File: `src/layouts/BaseLayout.astro` - Snippet (top `` and ``): ```astro ... ``` - Rationale: Correct language for screen readers and localized SEO (WCAG 3.1.1, 3.1.2). 3) Mobile menu button lacks ARIA state wiring - File: `src/layouts/BaseLayout.astro` - Snippet (button + script): ```astro ``` ```html ``` - Rationale: Communicates expanded/collapsed state for assistive tech (WCAG 4.1.2). 4) Carousel semantics and controls - File: `src/components/HeroCarousel.jsx` - Snippet: ```jsx
{slides.map((slide, index) => (
...
))}
``` - Rationale: Conveys carousel/slide semantics; exposes play/pause state (WCAG 1.4.2, 2.2.2, 4.1.2). 5) Contact form ARIA and honeypot - File: `src/components/ContactForm.jsx` - Snippet: ```jsx const [hp, setHp] = useState(''); ...
{errors.name &&

{errors.name}

} ``` - Rationale: Accessible errors association and simple anti-bot (WCAG 3.3.1/3.3.3). 6) Lightbox dialog semantics - File: `src/components/Lightbox.jsx` - Snippet: ```jsx
``` - Rationale: Dialog semantics and modality (WCAG 1.3.1, 2.4.3, 4.1.2). 7) Inline styles and data-URI backgrounds limit strict CSP - Files: `src/pages/about.astro`, `src/pages/donate.astro`, `src/pages/orphanage.astro` - Fix: Extract inline `style="background: ..."` to named CSS classes in `src/styles/main.css` (e.g., `.bg-flag-nl-ng`, `.pattern-overlay`) and reference via `class` only. Move inline `