Issue
confirm() and alert() are the single biggest accessibility gap in this app. They're completely inaccessible to screen readers (no ARIA, no focus management), unstyled (inconsistent with the rest of the UI), and blocking.
Affected locations:
- Settings.tsx — two confirm() calls for "Clear All Data"
- ProjectManagement.tsx — confirm() for delete project and reset to defaults
- ArchiveItem.tsx — confirm() in the Restore flow
- ArchiveEditDialog.tsx — alert() on save failure
ToDo
Introduce a reusable ConfirmationDialog built on shadcn's AlertDialog (already available in the component library). One component, used everywhere.
Issue
confirm() and alert() are the single biggest accessibility gap in this app. They're completely inaccessible to screen readers (no ARIA, no focus management), unstyled (inconsistent with the rest of the UI), and blocking.
Affected locations:
ToDo
Introduce a reusable ConfirmationDialog built on shadcn's AlertDialog (already available in the component library). One component, used everywhere.