# validate (with skill) — PawPal landing a11y

> Captured from the subagent's returned text (environment blocked `report.md` writes and denied Bash; manual catalog pass used per the skill's fallback).

## Profile
Plain static page: **no CSS-only navigation** (no labels-as-buttons, checkbox/radio state, `:has`/`:checked`/`:target`/`<details>`, stateful combinators) and **no JS**. No translaty. No navigation map to protect → every fix is behavior-neutral (Safe).

## Safe fixes applied (silent)
- DOCTYPE casing; `<html lang="en">`; viewport meta added.
- Icon button 🔔 → `aria-label="Notifications"`.
- `<div aria-label="Signup form">` → added `role="group"` (legalizes the label).
- Email input: real `<label for="signup-email">`, `type="email"`, `autocomplete="email"`.
- Heading skip fixed h1→h3→h3 ⇒ h1→h2→h2 (no CSS targeted bare h3).
- Additive `:focus-visible` outline.
- `<div class="footer">` → `<footer class="footer">` (landmark; styling on class).
- Mobile: `.hero` 1280px → `width:100%;max-width:1280px;box-sizing:border-box`; input/.cta font 13→16px (iOS zoom); `.icon-btn` 30→44px tap target; signup input width:260px → width:100%;max-width:260px.

## Survey (headless — written as text, recommended option applied + labeled)
Only one judgment item: meaningful images had no alt. Applied on recommendation (pending confirmation): logo→"PawPal"; step1→"Step 1: post the dates you need a sitter"; step2→"Step 2: browse and book a nearby sitter".

## Navigation-risk survey: NOT warranted
Explicitly no nav-risk survey — no CSS-only navigation, no JS, no load-bearing interaction walls. Inventing one would be a false alarm.

## Reported, not fixed — color contrast (WCAG AA), measured ratios
| Element | FG | BG | Ratio | Threshold | Verdict |
|---|---|---|---|---|---|
| Body text | `#7a7a7a` | `#fff` | 4.29:1 | 4.5:1 | FAIL |
| h1 | `#9b9b9b` | `#f4f4f4` | 2.53:1 | 3.0:1 (large) | FAIL |
| .cta label | `#eee` | `#cfcfcf` | 1.34:1 | 4.5:1 | FAIL badly |
| .footer | `#bdbdbd` | `#fff` | 1.88:1 | 4.5:1 | FAIL |

Palette decisions — NOT silently restyled. Suggested darker foregrounds offered for approval.
