Skip to content

Commit 967c9fa

Browse files
committed
feat(SegmentedSwitch): refactor component for improved accessibility
1 parent de72ba8 commit 967c9fa

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

packages/orbit-components/src/SegmentedSwitch/SegmentedSwitch.ct.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ test.describe("visual SegmentedSwitch", () => {
1717

1818
test("error focused", async ({ mount }) => {
1919
const component = await mount(<SegmentedSwitchErrorStory />);
20-
await component.getByTestId("switch-error").focus();
20+
await component.getByLabel("Male", { exact: true }).focus();
2121

2222
await expect(component).toHaveScreenshot();
2323
});

packages/orbit-components/src/SegmentedSwitch/SwitchSegment/index.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@ const SwitchSegment = ({
2929
name={name || "switch-segment"}
3030
defaultChecked={defaultChecked}
3131
type="radio"
32-
role="switch"
3332
ref={ref}
34-
aria-checked={Boolean(value)}
3533
onChange={onChange}
3634
onFocus={onFocus}
3735
disabled={disabled}

packages/orbit-components/src/SegmentedSwitch/index.tsx

+6-4
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,18 @@ const SegmentedSwitch = ({
3636
}, [showTooltip, hasTooltip, setTooltipShown]);
3737

3838
return (
39-
<label
39+
<div
4040
data-test={dataTest}
4141
ref={labelRef}
4242
className={cx(
4343
"gap-50 relative flex w-full flex-col",
4444
spaceAfter && spaceAfterClasses[spaceAfter],
45-
"[&_.orbit-switch-segment-label:nth-child(odd)_.orbit-switch-segment-text]:rounded-s-[5px]",
46-
"[&_.orbit-switch-segment-label:nth-child(even)_.orbit-switch-segment-text]:rounded-e-[5px]",
45+
"[&_.orbit-switch-segment-label:first-child_.orbit-switch-segment-text]:rounded-s-[5px]",
46+
"[&_.orbit-switch-segment-label:last-child_.orbit-switch-segment-text]:rounded-e-[5px]",
4747
)}
4848
style={{ maxWidth }}
49+
role="group"
50+
aria-label={label}
4951
>
5052
{label && (
5153
<FormLabel
@@ -79,7 +81,7 @@ const SegmentedSwitch = ({
7981
referenceElement={labelRef}
8082
/>
8183
)}
82-
</label>
84+
</div>
8385
);
8486
};
8587

0 commit comments

Comments
 (0)