diff --git a/docs/accessibility/clickable-elements-audit.md b/docs/accessibility/clickable-elements-audit.md
new file mode 100644
index 00000000..53e49e8b
--- /dev/null
+++ b/docs/accessibility/clickable-elements-audit.md
@@ -0,0 +1,225 @@
+# Clickable Elements Accessibility Audit
+
+> **Phase 2e — audit-only.** No runtime code is changed by this PR. The
+> document below catalogues every remaining clickable non-semantic
+> pattern in `frontend/src` so the rest of the Phase 2 paydown can be
+> sequenced from cheapest/safest to riskiest, with no surprises.
+>
+> Method: ripgrep across `frontend/src` for the patterns the prior
+> phases each removed (`
`, inline `cursor: pointer`, AntD
+> `List.Item onClick`, AntD `Table onRow={() => ({ onClick })}`,
+> `role="button"` without keyboard wiring, `tabIndex` without a role,
+> nested interactives inside clickable wrappers), then **manually
+> verified each hit by reading the surrounding JSX** so well-styled
+> real `