Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor SSelect using Headless UI components #541

Open
0x009922 opened this issue May 2, 2023 · 0 comments
Open

Refactor SSelect using Headless UI components #541

0x009922 opened this issue May 2, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request next Related to next lib iteration, i.e. based on Vue 3

Comments

@0x009922
Copy link
Contributor

0x009922 commented May 2, 2023

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.

@0x009922 0x009922 added enhancement New feature or request next Related to next lib iteration, i.e. based on Vue 3 labels May 2, 2023
@0x009922 0x009922 self-assigned this May 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request next Related to next lib iteration, i.e. based on Vue 3
Projects
None yet
Development

No branches or pull requests

1 participant