# ✅ Vérification humaine — `dev-verif-14` (required partials + quick-wins faible risque)

**Branche :** `dev-verif-14` (depuis `dev`)
**Date :** 2026-06-01

## Items traités

| Item (spec) | Avant | Après |
|---|---|---|
| accessibility / **data-tables** (required) | partial | ✅ `scope="col"` sur tous les `<th>` (MDX renderer + ~6 tables codées en dur) |
| performance / **image-optimization** (required) | partial | ✅ image MDX (seul `<img>` brut) : `loading="lazy"` + `decoding="async"` |
| performance / **lazy-loading** | partial | ✅ idem (images MDX lazy) |
| foundations / **feed-hygiene** | partial | ✅ `xmlns:sy` + `<sy:updatePeriod>weekly</sy:updatePeriod>` |
| performance / **speculation-rules** | fail | ✅ `<script type="speculationrules">` prefetch interne (eagerness moderate) |

## Changements (fichiers)

- `components/mdx-components.tsx` — `th` renderer : `scope="col"` ; `img` renderer : `loading="lazy"` + `decoding="async"`.
- `app/feed.xml/route.ts` — namespace `sy` + `sy:updatePeriod`/`sy:updateFrequency`.
- `app/layout.tsx` — Speculation Rules (prefetch `/*`, moderate).
- Tables codées en dur (`scope="col"` ajouté, perl idempotent) : `app/guides/regulation-energetique-2026`, `app/courtier-en-energie`, `app/expertise/optimisation-arenh-turpe`, `components/courtier-explainer`, `app/outils/.../contracts-comparison-table`, `.../step-4-results-teaser`, `.../step-5-results-full`.

## Preuves (build prod local :3001)

```
pnpm build : exit 0
article MDX réel : th scope=col 8/10 · img loading="lazy" ×7
pages codées dur : th scope=col 7/9 (en-têtes signifiants ; restent 2 cellules d'angle vides)
/feed.xml : <sy:updatePeriod>weekly ✓
home : <script type="speculationrules"> ✓
```

## ⚠️ Limites

- **image-optimization** : l'image MDX reste un `<img>` (pas `next/image`) car les dimensions ne sont pas connues côté MDX → conversion `next/image` = chantier séparé (métadonnées de dimensions via content-collections). Les images sont déjà en **webp** + désormais **lazy**.
- 2 `<th>` d'angle (cellules vides) sans scope — sans impact a11y réel.

## Décision

- [ ] **Validé** → mergeable dans `dev`.

> _Notes du vérificateur :_
