# Visual Accessibility Audit — Foundation Web Properties **Issue:** timmy-config #492 **Date:** 2026-04-13 **Label:** gemma-4-multimodal **Scope:** forge.alexanderwhitestone.com (Gitea 1.25.4) ## Executive Summary The Foundation's primary accessible web property is the Gitea forge. The Matrix homeserver (matrix.timmy.foundation) is currently unreachable (DNS/SSL issues). This audit covers the forge across three page types: Homepage, Login, and Explore/Repositories. **Overall: 6 WCAG 2.1 AA violations found, 4 best-practice recommendations.** --- ## Pages Audited | Page | URL | Status | |------|-----|--------| | Homepage | forge.alexanderwhitestone.com | Live | | Sign In | forge.alexanderwhitestone.com/user/login | Live | | Explore Repos | forge.alexanderwhitestone.com/explore/repos | Live | | Matrix/Element | matrix.timmy.foundation | DOWN (DNS/SSL) | --- ## Findings ### P1 — Violations (WCAG 2.1 AA) #### V1: No Skip Navigation Link (2.4.1) - **Pages:** All - **Severity:** Medium - **Description:** No "Skip to content" link exists. Keyboard users must tab through the full navigation on every page load. - **Evidence:** Programmatic check returned `skipNav: false` - **Fix:** Add `` visually hidden until focused. #### V2: 25 Form Inputs Without Labels (1.3.1, 3.3.2) - **Pages:** Explore/Repositories (filter dropdowns) - **Severity:** High - **Description:** The search input and all radio buttons in the Filter/Sort dropdowns lack programmatic label associations. - **Evidence:** Programmatic check found 25 inputs without `label[for=]`, `aria-label`, or `aria-labelledby` - **Affected inputs:** `q` (search), `archived` (x2), `fork` (x2), `mirror` (x2), `template` (x2), `private` (x2), `sort` (x12), `clear-filter` (x1) - **Fix:** Add `aria-label="Search repositories"` to search input. Add `aria-label` to each radio button group and individual options. #### V3: Low-Contrast Footer Text (1.4.3) - **Pages:** All - **Severity:** Medium - **Description:** Footer text (version, page render time) appears light gray on white, likely failing the 4.5:1 contrast ratio. - **Evidence:** 30 elements flagged as potential low-contrast suspects. - **Fix:** Darken footer text to at least `#767676` on white (4.54:1 ratio). #### V4: Green Link Color Fails Contrast (1.4.3) - **Pages:** Homepage - **Severity:** Medium - **Description:** Inline links use medium-green (~#609926) on white. This shade typically fails 4.5:1 for normal body text. - **Evidence:** Visual analysis identified green links ("run the binary", "Docker", "contributing") as potentially failing. - **Fix:** Darken link color to at least `#507020` or add an underline for non-color differentiation (SC 1.4.1). #### V5: Missing Header/Banner Landmark (1.3.1) - **Pages:** All - **Severity:** Low - **Description:** No `
` or `role="banner"` element found. The navigation bar is a `