[Arch] Accessibility gaps: icon-only buttons, non-semantic clickable elements, no ErrorBoundary #63
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: Medium | Category: Frontend
Only 2
aria-labels across the whole frontend vs ~33 icon-only buttons.RowMenu's overflow trigger inShipments.tsx(~line 161) has no label.ShipmentDetail.tsx:403uses a<div onClick>for a keyboard-inaccessible timeline expander. NoErrorBoundaryexists anywhere infrontend/src— an unhandled render error crashes the whole SPA.Recommendation: Add
aria-labels to icon-only buttons; convert the<div onClick>to a button or addrole="button"/tabIndex/onKeyDown; add a top-levelErrorBoundaryinApp.tsx.Full detail:
docs/architecture-review.md§ C + § H.9Fixed on branch
architecture-rework, commit8ca6dbe: addedaria-label/aria-haspopup/aria-expandedtoShipments.tsx'sRowMenuoverflow trigger; madeShipmentDetail.tsx's timeline-row expander keyboard-accessible (role="button",tabIndex,onKeyDownfor Enter/Space); added a top-levelErrorBoundary(components/ErrorBoundary.tsx) wrapping the app inApp.tsx. Verified:tsc --noEmit,eslint,vite buildall pass.