feat(uat-batch-10): copy polish, TTL trim, and a11y discrete fixes

- Supplemental-info link TTL trimmed from 30 → 14 days (single
  constant in supplemental-forms.service).
- LinkedBerthsList toggle renamed "Mark in EOI bundle" →
  "Include in EOI"; tooltip aria-label updated to match.
- Icon-only row-action triggers on the interest / client / berth list
  tables gain aria-label (Row actions for <name>) so SR users hear
  the row context.
- Table / Board view toggle on interest list gains aria-label +
  aria-pressed on each variant; wrapper gets role="group".
- Upcoming-milestones disclosure on interest-tabs gains
  aria-expanded + aria-controls; recommender Hide/Add filters
  button matches.
- BrandedAuthShell logo alt no longer defaults to "Sign in" — uses
  the configured `appName` when known, empty string otherwise so
  screen readers don't announce "Sign in" on password-reset /
  set-password pages.

tsc clean. 1419/1419 vitest pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-21 18:01:17 +02:00
parent 5f937b4551
commit db511063df
9 changed files with 28 additions and 6 deletions

View File

@@ -183,11 +183,17 @@ export function InterestList() {
{/* Kanban view is desktop-only — mobile drops the toggle and
falls back to the list/cards view (the board's column
horizontal-scroll model is unusable at phone widths). */}
<div className="hidden sm:flex items-center border rounded-md overflow-hidden">
<div
className="hidden sm:flex items-center border rounded-md overflow-hidden"
role="group"
aria-label="View mode"
>
<Button
size="sm"
variant={viewMode === 'table' ? 'default' : 'ghost'}
className="rounded-none"
aria-label="Table view"
aria-pressed={viewMode === 'table'}
onClick={() => setViewMode('table')}
>
<LayoutList className="h-4 w-4" aria-hidden />
@@ -196,6 +202,8 @@ export function InterestList() {
size="sm"
variant={viewMode === 'board' ? 'default' : 'ghost'}
className="rounded-none"
aria-label="Board view"
aria-pressed={viewMode === 'board'}
onClick={() => setViewMode('board')}
>
<Kanban className="h-4 w-4" aria-hidden />