Skip to content

Commit 3166621

Browse files
committed
More accessible tabbing improvements
1 parent 392d666 commit 3166621

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

apps/webapp/app/components/primitives/ClientTabs.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ const ClientTabs = React.forwardRef<
5151
<ClientTabsContext.Provider value={contextValue}>
5252
<TabsPrimitive.Root
5353
ref={ref}
54+
activationMode="manual"
5455
onValueChange={handleValueChange}
5556
{...controlledProps}
5657
{...props}
@@ -96,6 +97,7 @@ const ClientTabsTrigger = React.forwardRef<
9697
return (
9798
<TabsPrimitive.Trigger
9899
ref={ref}
100+
tabIndex={0}
99101
className={cn(
100102
"group relative flex h-full grow items-center justify-center focus-custom disabled:pointer-events-none disabled:opacity-50",
101103
"flex-1 basis-0",
@@ -134,6 +136,7 @@ const ClientTabsTrigger = React.forwardRef<
134136
return (
135137
<TabsPrimitive.Trigger
136138
ref={ref}
139+
tabIndex={0}
137140
className={cn(
138141
"group flex flex-col items-center pt-1 focus-custom disabled:pointer-events-none disabled:opacity-50",
139142
className
@@ -170,8 +173,9 @@ const ClientTabsTrigger = React.forwardRef<
170173
return (
171174
<TabsPrimitive.Trigger
172175
ref={ref}
176+
tabIndex={0}
173177
className={cn(
174-
"ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap border-r border-charcoal-700 px-2 text-sm transition-all first:pl-0 last:border-none data-[state=active]:text-indigo-500 data-[state=inactive]:text-text-dimmed data-[state=inactive]:hover:text-text-bright focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
178+
"inline-flex items-center justify-center whitespace-nowrap border-r border-charcoal-700 px-2 text-sm transition-all first:pl-0 last:border-none focus-custom data-[state=active]:text-indigo-500 data-[state=inactive]:text-text-dimmed data-[state=inactive]:hover:text-text-bright disabled:pointer-events-none disabled:opacity-50",
175179
className
176180
)}
177181
{...props}
@@ -188,8 +192,9 @@ const ClientTabsContent = React.forwardRef<
188192
>(({ className, ...props }, ref) => (
189193
<TabsPrimitive.Content
190194
ref={ref}
195+
tabIndex={-1}
191196
className={cn(
192-
"ring-offset-background focus-visible:ring-ring mt-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
197+
"mt-1 outline-none",
193198
className,
194199
"data-[state=inactive]:hidden"
195200
)}

0 commit comments

Comments
 (0)