What is the Carbon Design System?
Carbon is the open-source design system for all IBM software products. It is a series of individual styles, components, and guidelines used for creating unified product experiences.
To learn more about how we work check out What is Carbon.
Who works on Carbon?
Carbon has a core team of designers and front-end developers dedicated to developing and supporting the system. There are also countless other designers and developers who contribute back to carbon-components and carbon-react.
How can I contribute and/or propose new components or ideas?
Check out our contribution overview to learn all about the different ways to contribute. Thanks for the help!
I see a bug. How do I report it?
First, make sure the problem is reproducible. Once confirmed, open an issue in the appropriate GitHub repo from the following list. We will address the bug as soon as we can. If you have a fix for the bug, please feel free to submit a PR for it.
For larger changes, please see our contribution overview.
Design issue repos
What can I expect for a response to my bug report?
If you have a pressing bug or change it is best to make PR for the issue yourself. Our team works in sprints and will try to address your bug as soon as possible; sometimes within two or three days, but usually by the following sprint. Issues that are out of scope will be closed until they become a higher priority.
Typical responses to bug reports will include:
- Need more info, can’t reproduce the problem
- Won’t fix, this isn’t something we intend to support
- Confirmed, will add to our roadmap (Carbon team will fix)
- Confirmed, will accept PRs (need external member to fix)
- Need to include design to verify this behavior is supported
What should I do if I find a component that isn’t accessible?
First, refer to the Carbon accessibility guidelines to confirm that the component fails accessibility standards. If confirmed, create a GitHub issue in the Components repo and describe the steps to reproduce the problem. If the core Carbon team confirms the problem, we will work to fix it as quickly as possible.
Creating with Carbon
Which browsers are supported?
Carbon components are supported in the following browsers:
- Microsoft Edge latest
- Firefox latest
- Chrome latest
- Safari latest
What languages are the components written in?
Carbon is built React first. We also support vanilla JS, Angular, Vue, and Svelte implementations. Check out Frameworks to learn more about what you need to get started with Carbon implementations.
Where do I find mobile components?
We are currently working on a Carbon mobile Sketch kit. This kit is a work in progress but is an opportunity for you to preview what we’re working on and provide early feedback. Find the kit on the Work in progress page.
Where do I find the Experimental components and patterns?
The patterns and components that were in Experimental are now in the Community assets section. Community assets include work developed and maintained by the individuals and teams who use Carbon. You can help elevate these resources by contributing feedback, code, and design.
Note that some of the content in Community assets is hosted on internal IBM sites and is only accessible to IBMers.
Where do I find charts and data visualization?
Carbon charts and their corresponding assets and documentation are now in the Data visualization section.
Where can I find documentation for earlier versions of Carbon?
Carbon contains a telemetry feature that collects usage information for IBM and Carbon Design System properties.
Why is telemetry collected?
Carbon collects telemetry information to influence Carbon’s roadmap and prioritize bug fixes.
When is data collected?
Data is only collected when Carbon packages are installed on a Continuous Integration (CI) server, when the installation is not part of a Pull Request (PR), and for Git repositories with the origin remotes:
As the information collected is not anonymous, telemetry data collection is limited to IBM GitHub Enterprise repositories, as well as open source repositories in the IBM and Carbon Design System GitHub organizations.
What is being collected?
The following is collected through a postinstall script:
- Git repository remote origin URLs and commit hashes
- Packages and package versions used in the repository
- Components being used including file paths and their packages
- Component props being used (the prop value is only collected when it is serializable to a string)
How do I opt out?
Participation in Carbon’s telemetry is optional. To opt-out, set the environment