-
Notifications
You must be signed in to change notification settings - Fork 6
docs(spec): north star spec reporting #13
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # To do | ||
|
|
||
| A giant page of all component spec rules so you can anchor link to failing tests here |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # Components | ||
|
|
||
| ## Core components | ||
|
|
||
| | | Vanilla | React | Angular | Vue | | ||
| | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | ||
| | Package | [@carbon/components](https://www.npmjs.com/package/carbon-components) | [@carbon/react](https://www.npmjs.com/package/carbon-components-react) | [@carbon/angular](https://www.npmjs.com/package/carbon-components-angular) | [@carbon/vue](https://www.npmjs.com/package/@carbon/vue) | | ||
| | Status | <br> | <br> | <br> | <br> | | ||
| | Maintainers | [@carbon-design-system/core-team]() | [@carbon-design-system/core-team]() | [@carbon-design-system/angular-team](), [@user1]() | [@user2]() | | ||
|
|
||
| | | Specification | Vanilla | React | Angular | Vue | | ||
| | -------------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- | | ||
| | [Accordion](/components/accordion.md) |  |  |  |  |  | | ||
| | [Breadcrumb](/componentsbreadcrumb.md) |  |  |  | |  | | ||
| | [Button](/components/button.md) |  |  |  | <br> |  | | ||
|
|
||
| ## Community components | ||
|
|
||
| | | Specification | Vanilla | React | Angular | Vue | | ||
| | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | ||
| | [Carousel](/components/carousel.md) |  | | <br> | | | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What if a framework doesn't want to deprecate? Would the spec stay forever?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we could come up deprecation logic at each major release similar to what @joshblack outlined here: carbon-design-system/rfcs#5 (comment) We'll have to clearly document community component governance so any directory of community components doesn't become a graveyard of unsupported components. |
||
| | [Hero](/components/hero.md) | <br> | | | <br> | | | ||
|
|
||
| ## Legend | ||
|
|
||
| | Mark | Description | | ||
| | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | | ||
| |  | Specification or implementation is under construction | | ||
| |  | Specification or implementation is no longer supported; will get removed in next major version | | ||
| |  | Specification or implementation can be used but is not considered stable; changes may occur | | ||
| |  | Specification or implementation is new in the last major version | | ||
| |  | Implementation conforms to WCAG 2.0 Level A if passing all specification tests | | ||
| |  | Implementation conforms to WCAG 2.0 Level AA if passing all specification tests | | ||
| |  | Implementation conforms to WCAG 2.0 Level AAA if passing all specification tests | | ||
| |  | All specification tests are passing | | ||
| |  | All specification tests are passing but there are warnings | | ||
| |  | At least one specification test is failing | | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,29 @@ | ||||||||||||||||||||
| # Button | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ## Specification | ||||||||||||||||||||
|
|
||||||||||||||||||||
|  | ||||||||||||||||||||
|
|
||||||||||||||||||||
| - **Category**: [Core component](../component-status.md#core-components) | ||||||||||||||||||||
| - **Maintainers**: [@carbon-design-system/core-team](), [@user1](), [@user2]() | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ## Packages | ||||||||||||||||||||
|
|
||||||||||||||||||||
| | | Vanilla | React | Angular | Vue | | ||||||||||||||||||||
| | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | | ||||||||||||||||||||
| | Package | [@carbon/button](#link) | [@carbon/button-react](#link) | [@carbon/button-angular](#link) | [@carbon/button-vue](#link) | | ||||||||||||||||||||
| | Status | <br> | <br> | <br><br> | <br> | | ||||||||||||||||||||
| | Maintainers | [@carbon-design-system/core-team]() | [@carbon-design-system/core-team]() | [@carbon-design-system/angular-team](), [@user1]() | [@user2]() | | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ## Specification test results | ||||||||||||||||||||
|
|
||||||||||||||||||||
| | | Type | Vanilla | React | Angular | Vue | | ||||||||||||||||||||
| | --------- | -------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------- | | ||||||||||||||||||||
| | General | - |  |  |  |  | | ||||||||||||||||||||
| | Primary | variant |  |  |  |  | | ||||||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. spec numberingconfused on the numbers on these. What does a data and inheritanceThinking about where all this data will come from. For our components, we track component-level and demo-level data and store that data in a [component].config.js file (just like what's in each component in carbon-components). This structure allows the testing-data to be inherited by demos from their parent component. Example (from our but then those can be overridden at the demo wcag ratingHow does the I'm wondering if the wcag rating could be tracked as a separate data point at the data & component & framework level:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm working on component configs (living in package.json files once each component is individually published) and revisiting component directory structure now that we have a better understanding of where we want to go compared to a couple months ago. Let's go over that next sync-up! Still a WIP over here. |
||||||||||||||||||||
| | Secondary | variant |  |  |  |  | | ||||||||||||||||||||
| | Tertiary | variant |  |  |  |  | | ||||||||||||||||||||
| | Ghost | variant |  |  |  |  | | ||||||||||||||||||||
| | Danger | variant |  |  |  |  | | ||||||||||||||||||||
| | Small | modifier |  |  |  |  | | ||||||||||||||||||||
| | Disabled | state |  |  |  |  | | ||||||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'll document what those spec test result badges mean. In that scenario, 2 tests pass and there is 1 warning. What would constitute a warning? Maybe a test that addresses something that takes the component from WCAG 2.0 AA to AAA. The component isn't failing - but it could be better. |
||||||||||||||||||||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| { | ||
| "name": "@carbon/accordion-spec", | ||
| "private": true, | ||
| "description": "The accordion specification for the Carbon Design System", | ||
| "version": "0.0.0", | ||
| "license": "Apache-2.0", | ||
| "carbon": { | ||
| "createdAt": "9.0.0", | ||
| "deprecatedAt": "10.0.0", | ||
| "maintainers": [ | ||
| "@carbon-design-system/core-team", | ||
| "@user1", | ||
| "@user2" | ||
| ], | ||
| "status": "draft", | ||
| "type": "core", | ||
| "wcag20": "a" | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This separate section for wcag specs is very exciting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@scottnath, @dakahn and I are working through some of those details, but here's where we're at so far. Each component's spec could include 1 to many accessibility classifications. Each classification (e.g. WCAG 2.0 AA) has a subset of spec tests needed to hit that level of accessibility, plus a time-stamped summary of manual test results performed on a component that passes 100% of that subset of tests. That way, should we need to add test cases to that accessibility classification, or change anything, we know to re-run manual tests.
In this scenario, maybe the component's Specification column has two available accessibility badges (
WCAG 2.0 AandWCAG 2.0 AA), and then each implementation has at most one accessibility badge (e.g. React component is passing all of the tests needed to be AA so it's AA, Angular component passes all the A tests but has not implemented the changes to pass the AA tests, so it's A).I'll share an example which will be easier to understand.