diff --git a/packages/app-shell-core/src/components/ui/table.jsx b/packages/app-shell-core/src/components/ui/table.jsx index 7c3659402..afd765d7d 100644 --- a/packages/app-shell-core/src/components/ui/table.jsx +++ b/packages/app-shell-core/src/components/ui/table.jsx @@ -13,7 +13,8 @@ const Table = React.forwardRef(({ className, ...props }, ref) => ( Table.displayName = "Table" const TableHeader = React.forwardRef(({ className, ...props }, ref) => ( - + // WARN(a11y): border-border-subtle, not border-border-structural — see TableRow below. + )) TableHeader.displayName = "TableHeader" @@ -26,9 +27,10 @@ const TableBody = React.forwardRef(({ className, ...props }, ref) => ( TableBody.displayName = "TableBody" const TableFooter = React.forwardRef(({ className, ...props }, ref) => ( + // WARN(a11y): border-border-subtle, not border-border-structural — see TableRow below. tr]:last:border-b-0", className)} + className={cn("border-t border-border-subtle font-medium [&>tr]:last:border-b-0", className)} {...props} /> )) TableFooter.displayName = "TableFooter" @@ -36,8 +38,15 @@ TableFooter.displayName = "TableFooter" const TableRow = React.forwardRef(({ className, ...props }, ref) => ( diff --git a/packages/app-shell-core/src/styles.css b/packages/app-shell-core/src/styles.css index 6e699755c..10a10b4ac 100644 --- a/packages/app-shell-core/src/styles.css +++ b/packages/app-shell-core/src/styles.css @@ -286,7 +286,7 @@ :root { --background: 220 14% 96%; - --foreground: 222 47% 11%; + --foreground: 222 47% 11%; /* #0F1729 — matches staging (go.staging.etendo.cloud), the original design spec's color */ --card: 0 0% 100%; --card-foreground: 222 47% 11%; --popover: 0 0% 100%; @@ -296,7 +296,7 @@ --secondary: 210 40% 96%; --secondary-foreground: 222 47% 11%; --muted: 210 40% 96%; - --muted-foreground: 215 16% 47%; + --muted-foreground: 240 12% 48%; /* #6C6C89 — NOT staging's #65758B: that fails WCAG AA (4.3:1) against --background (only passes 4.7:1 against white --card); this is the a11y-review fix, matches --text-secondary */ --accent: 210 40% 96%; --accent-foreground: 222 47% 11%; --destructive: 0 84% 60%; @@ -306,10 +306,20 @@ --inverse-muted: 215 16% 72%; --inverse-border: 215 20% 30%; /* Semantic accessibility contract v1 (ETP-4554). */ - --border-control: 215 16% 47%; + /* WARN(a11y): --border-control (and --input, which aliases it) is back to + staging's original light color. It drives BOTH real form-control borders + AND the shared outline-button border (shadcn's `border-input` convention), + so darkening it for WCAG 1.4.11 compliance visually affected buttons too, + which the design didn't want. Known gap: at this value, --border-control + only reaches ~1.5:1 contrast against --background/--card, short of the + 3:1 WCAG 1.4.11 non-text contrast minimum for control boundaries. Revisit + by splitting a dedicated (darker) token for real /