Skip to content

Refactor SSelect using Headless UI components #541

@0x009922

Description

@0x009922

Description

Listbox (Select) - Headless UI

Headless UI project provides highly functional and accessible components with no any styling. It makes it an ideal basement to build a UI library on top of.

Currently SSelect (and SDropdown) component misses a lot of accessibility features (#525), and is it implemented according the guidelines of WAI. In the meantime, Headless UI provides such difficult to implement features like type-ahead in Listbox.

The downside of using Headless UI is that it is a heavy dependency our project will rely on. Although Headless UI is a big project maintained by Tailwind Labs, it is still a risk.

Also, currently we don't have a clear distinction between the purpose of SSelect and SDropdown, but we might see this distinction in Headless UI and in WAI: Select (Listbox) is a button with dropdown items, and Autocomplete (Combobox) is a text input with dropdown items. I think it makes sense to move towards this point of view.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestnextRelated to next lib iteration, i.e. based on Vue 3

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions