FAQs
About Carbon
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-react.
Contributing
How can I contribute and/or propose new components or ideas?
Check out our contribution get started page 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 get started page.
Design issue repos
Code repos
- @carbon/react
- @carbon/web-components
- carbon-components-angular
- carbon-components-vanilla
- carbon-components-vue
- carbon-charts
What can I expect for a response to my bug report?
If you have a pressing bug or change it is best to make a 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
For IBM teams, see browser support standards here.
What languages are the components written in?
Carbon is built React first, with official support for Web Components. There is community support for 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?
The Carbon Native mobile Figma kit is available on the Other resources page.
What are feature flags? Where do I find them?
Feature flags enable new behaviors and styling, allowing users to opt-in to new breaking changes while staying on the current major version. A list of components with available feature flags can be found on the Component Overview page under the Feature flags tab.
What are experimental components? Where do I find them?
The team occasionally will author code, or accept contributions, that is considered experimental or unstable. The goal for this code is to ship it as unstable for sponsor groups to leverage. During this time, the team can get feedback around what is working and what does not work so that changes can be made before an official release. They are available on the storybook under the Experimental tab.
Where do I find the community assets?
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?
Telemetry
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:
- github.ibm.com
- github.com/ibm
- github.com/carbon-design-system
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 variable
CARBON_TELEMETRY_DISABLED
1