carbon-design-system / carbon

A design system built by IBM
https://www.carbondesignsystem.com
Apache License 2.0
7.86k stars 1.82k forks source link

Remove `ListBoxSelection` in favor of new `next/ListBoxSelection` #12863

Open tay1orjones opened 1 year ago

tay1orjones commented 1 year ago

This issue is for refactoring all usages of the legacy ListBoxSelection to be updated to use next/ListBoxSelection.

A new reimplementation of ListBoxSelection was added in #7777 in next/ListBoxSelection. At that time, ComboBox was updated to use the new implementation. Another component and a series of tests were left using the legacy ListBoxSelection and have not been updated.

Attempting to move these out of next (https://github.com/carbon-design-system/carbon/issues/12588) caused tests to fail for MultiSelect (https://github.com/carbon-design-system/carbon/pull/12837). Having our tests fail due to this change points to the potential of this being a breaking change. Consumers relying on/testing the tab order of legacy ListBoxSelection via MultiSelect will have one less tab stop with the new implementation. This would break tests in downstream applications without a major version bump.

https://github.com/carbon-design-system/carbon/issues/12863#tasklist-block-a94595b3-d3b3-4a94-b992-0e3c7ec32fb2

tay1orjones commented 1 year ago

Worth noting that this is not a super pressing issue and only results in slightly inferior accessibility within MultiSelect. I've categorized it as an a11y enhancement.