From 88e409b019c568f0e7c89d0891f9de1d6ec92e4e Mon Sep 17 00:00:00 2001 From: Richie Date: Mon, 30 Mar 2026 08:24:31 +1100 Subject: [PATCH] Quality pass 2: sticky header breathing room, a11y labels, semantic tokens MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Visual fixes: - Sticky headers: add pt: 2 so scrolling content doesn't bleed flush against the heading (ProvidersStep, VenueStep) Accessibility: - ProvidersStep: add role="list" to provider list container (aria-label needs a semantic role to be announced) - VenueStep: add aria-label to search TextField (placeholder alone is not a reliable label for screen readers) Token consistency: - Map placeholders: var(--fa-color-sage-50) → var(--fa-color-surface-cool) (use semantic token, not primitive) in ProvidersStep, VenueStep - ArrangementDialog: var(--fa-color-brand-50) → var(--fa-color-surface-warm) for package summary background - ArrangementDialog: replace Box component="a" with Link atom for terms and conditions (consistent focus/hover styling) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../ArrangementDialog/ArrangementDialog.tsx | 15 ++++----------- .../pages/ProvidersStep/ProvidersStep.tsx | 4 +++- src/components/pages/VenueStep/VenueStep.tsx | 4 +++- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/components/organisms/ArrangementDialog/ArrangementDialog.tsx b/src/components/organisms/ArrangementDialog/ArrangementDialog.tsx index de1eb42..f031c16 100644 --- a/src/components/organisms/ArrangementDialog/ArrangementDialog.tsx +++ b/src/components/organisms/ArrangementDialog/ArrangementDialog.tsx @@ -19,6 +19,7 @@ import { ProviderCardCompact } from '../../molecules/ProviderCardCompact'; import { Collapse } from '../../atoms/Collapse'; import { Typography } from '../../atoms/Typography'; import { Button } from '../../atoms/Button'; +import { Link } from '../../atoms/Link'; import { Divider } from '../../atoms/Divider'; // ─── Types ─────────────────────────────────────────────────────────────────── @@ -265,7 +266,7 @@ export const ArrangementDialog = React.forwardRef By continuing, you agree to the{' '} - + terms and conditions - + . diff --git a/src/components/pages/ProvidersStep/ProvidersStep.tsx b/src/components/pages/ProvidersStep/ProvidersStep.tsx index 860b6d6..93c91aa 100644 --- a/src/components/pages/ProvidersStep/ProvidersStep.tsx +++ b/src/components/pages/ProvidersStep/ProvidersStep.tsx @@ -121,7 +121,7 @@ export const ProvidersStep: React.FC = ({ mapPanel || ( = ({ top: 0, zIndex: 1, bgcolor: 'background.default', + pt: 2, pb: 1, mx: { xs: -2, md: -3 }, px: { xs: 2, md: 3 }, @@ -201,6 +202,7 @@ export const ProvidersStep: React.FC = ({ {/* Provider list — click-to-navigate (D-D) */} diff --git a/src/components/pages/VenueStep/VenueStep.tsx b/src/components/pages/VenueStep/VenueStep.tsx index 83dc703..751c816 100644 --- a/src/components/pages/VenueStep/VenueStep.tsx +++ b/src/components/pages/VenueStep/VenueStep.tsx @@ -181,7 +181,7 @@ export const VenueStep: React.FC = ({ mapPanel || ( = ({ top: 0, zIndex: 1, bgcolor: 'background.default', + pt: 2, pb: 1, mx: { xs: -2, md: -3 }, px: { xs: 2, md: 3 }, @@ -232,6 +233,7 @@ export const VenueStep: React.FC = ({ onChange({ ...values, search: e.target.value })} fullWidth