# Accessibility code-review evidence

Captured: 2026-08-02

Classification: inspected in code and component tests only. Manual browser/assistive-technology verification was blocked by the missing in-app browser client.

## Confirmed code-level issues

- Icon-only controls lack programmatic names in `CompaniesTable.tsx:139,186`, `Correspondence.tsx:472`, `JobTable.tsx:493,704,745-748`, `SavedViewsMenu.tsx:93,153`, and `CvBuilderPage.tsx:96`. Tooltips or HTML `title` alone are not a reliable accessible name.
- Attachment preview/download/rename/delete buttons use `title` without `aria-label` at `Attachments.tsx:320-330`.
- CV cards are clickable `Paper` elements with pointer styling but no link/button role, `tabIndex`, or keyboard activation at `CvBuilderPage.tsx:91-98`.
- The public CV iframe is fixed at 210mm wide at `PublicCvPage.tsx:53-62`; at 375px and 768px this is a code-supported overflow risk, but visual clipping was not manually verified.

## Positive evidence

- Forms generally use MUI labels and many dialog close/action buttons have explicit `aria-label` values.
- CV editor move/hide controls and checklist controls carry accessible names.
- MUI supplies baseline focus and dialog semantics, though manual focus trapping/return was not checked.
- Public CV iframe has a title and sandbox attribute.

No axe, pa11y, or Lighthouse dependency/configuration is present. No automated accessibility gate runs in CI.
