- Skip-to-content link for keyboard users (sr-only/focus:not-sr-only pattern) - aria-expanded and aria-haspopup on Tracker menu dropdown - aria-label on footer, role='main' and aria-labelledby on layout wrapper - Main content wrapped in <main> with unique id from React useId() - Fixed build error: useId imported from react, not react-router-dom - Hudson security audit: 5/5 PASS (no XSS, no DOM clobbering, no injection) |
||
|---|---|---|
| .. | ||
| layout | ||
| ui | ||
| AdminDashboard.jsx | ||
| BillModal.jsx | ||
| BillsTableInner.jsx | ||
| ErrorBoundary.jsx | ||
| MarkdownText.jsx | ||
| MobileBillRow.jsx | ||
| MobileTrackerRow.jsx | ||
| PageLoader.jsx | ||
| ReleaseNotesDialog.jsx | ||
| StatusBadge.jsx | ||
| SummaryCard.jsx | ||