Most recent revision: April 1, 2020
Vision
The web deserves interoperability between component frameworks and design systems. The UI community is in a similar place as the industrial revolution prior to standardization. Untold amounts of human effort are exhausted globally every day on rebuilding identical components for web apps.
This should not be the case. The UI community should standardize namings and structures for common components. We should also standardize a way of theming these components. We should set a path for existing solutions to converge and for browsers to natively provide these things in the future.
UI component patterns have evolved and stabilized but have not made their way to to browsers or standards. Designers and developers reinvent the same components for every product they build. When building a web app or web page designers and developers should have a common set of components at their disposal. We shouldn't have to rebuild a dropdown, modal dialog, split button, or other components before we build our products.
Goals
These are the goals Open UI believes will realize the above vision.
- Document component names as they exist today
- A common language for describing UIs and design systems
- Browser standards for web app components
Scope of work
- Utilize descriptivism of common patterns to identify and standardize on:
- Component names and parts
- States
- Behaviors
- How behaviors transition state (eg: keyboard or pointer interaction)
- The necessary accessibilty requirements (this is not in place of WAI-ARIA or WCAG but linking where appropriate to alleviate implementor pain)
- Upon discovery of gaps in the web platform, denote those and raise relevant issues to standards bodies
- Design system terminology
Out of scope
- Standardization of appearance of the component