@adobe/spectrum-design-data 3.3.0-beta.2 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/components/accordion.json +17 -35
  2. package/components/action-bar.json +7 -0
  3. package/components/action-button.json +16 -3
  4. package/components/action-group.json +8 -0
  5. package/components/alert-dialog.json +14 -3
  6. package/components/avatar-group.json +11 -15
  7. package/components/avatar.json +15 -18
  8. package/components/badge.json +15 -2
  9. package/components/breadcrumbs.json +7 -0
  10. package/components/button-group.json +16 -3
  11. package/components/button.json +16 -3
  12. package/components/calendar.json +7 -0
  13. package/components/card.json +13 -0
  14. package/components/cards.json +4 -4
  15. package/components/checkbox-group.json +10 -3
  16. package/components/checkbox.json +10 -3
  17. package/components/close-button.json +16 -3
  18. package/components/color-area.json +7 -0
  19. package/components/color-handle.json +8 -0
  20. package/components/color-loupe.json +16 -4
  21. package/components/color-slider.json +7 -0
  22. package/components/color-wheel.json +7 -0
  23. package/components/combo-box.json +10 -3
  24. package/components/contextual-help.json +10 -3
  25. package/components/date-field.json +7 -0
  26. package/components/date-picker.json +7 -0
  27. package/components/divider.json +15 -2
  28. package/components/drop-zone.json +10 -3
  29. package/components/field-label.json +7 -3
  30. package/components/heading.json +7 -0
  31. package/components/help-text.json +3 -3
  32. package/components/illustrated-message.json +13 -0
  33. package/components/link.json +10 -3
  34. package/components/list-view.json +7 -0
  35. package/components/menu.json +10 -3
  36. package/components/meter.json +16 -3
  37. package/components/number-field.json +7 -0
  38. package/components/picker.json +10 -3
  39. package/components/popover.json +16 -3
  40. package/components/progress-bar.json +16 -3
  41. package/components/progress-circle.json +16 -3
  42. package/components/radio-group.json +10 -3
  43. package/components/search-field.json +10 -3
  44. package/components/segmented-control.json +10 -3
  45. package/components/select-box.json +7 -0
  46. package/components/side-navigation.json +3 -3
  47. package/components/slider.json +10 -3
  48. package/components/status-light.json +15 -2
  49. package/components/swatch-group.json +3 -3
  50. package/components/swatch.json +3 -3
  51. package/components/switch.json +14 -3
  52. package/components/table.json +3 -3
  53. package/components/tabs.json +16 -3
  54. package/components/tag-group.json +10 -3
  55. package/components/tag.json +10 -3
  56. package/components/text-area.json +10 -3
  57. package/components/text-field.json +11 -4
  58. package/components/time-field.json +7 -0
  59. package/components/toast.json +11 -7
  60. package/components/tooltip.json +16 -3
  61. package/components/tree-view.json +10 -3
  62. package/components/user-card.json +7 -0
  63. package/fields/structure.json +1 -2
  64. package/guidelines/ai-resource-guide.json +7 -15
  65. package/guidelines/app-frame-overview.json +24 -25
  66. package/guidelines/applying-the-type-system.json +15 -11
  67. package/guidelines/attention-hierarchy.json +3 -3
  68. package/guidelines/background-layers.json +20 -16
  69. package/guidelines/bi-directionality.json +9 -9
  70. package/guidelines/border-width.json +18 -6
  71. package/guidelines/brand.json +9 -17
  72. package/guidelines/cognitive.json +32 -0
  73. package/guidelines/colors.json +23 -15
  74. package/guidelines/component-spacing.json +12 -8
  75. package/guidelines/contact-us.json +1 -41
  76. package/guidelines/containers.json +21 -28
  77. package/guidelines/content-area-browsing-context.json +20 -12
  78. package/guidelines/creating-bluelines-browsing-context.json +9 -29
  79. package/guidelines/design-tokens.json +47 -19
  80. package/guidelines/developer-overview.json +8 -0
  81. package/guidelines/drop-shadow.json +14 -6
  82. package/guidelines/faqs.json +4 -0
  83. package/guidelines/fonts.json +6 -2
  84. package/guidelines/grammar-and-mechanics.json +69 -45
  85. package/guidelines/grays.json +5 -5
  86. package/guidelines/header-browsing-context.json +6 -6
  87. package/guidelines/icon-fundamentals.json +5 -5
  88. package/guidelines/illustration.json +41 -26
  89. package/guidelines/in-product-word-list.json +2 -6
  90. package/guidelines/inclusive-design.json +8 -8
  91. package/guidelines/inclusive-ux-writing.json +6 -2
  92. package/guidelines/internationalization.json +31 -15
  93. package/guidelines/layout-spacing.json +5 -5
  94. package/guidelines/manifest.json +46 -134
  95. package/guidelines/motion.json +9 -5
  96. package/guidelines/object-styles-overview.json +2 -2
  97. package/guidelines/principles.json +2 -2
  98. package/guidelines/resources.json +8 -0
  99. package/guidelines/rounding.json +19 -7
  100. package/guidelines/side-navigation-browsing-context.json +16 -16
  101. package/guidelines/spacing-overview.json +44 -11
  102. package/guidelines/states.json +4 -4
  103. package/guidelines/support.json +13 -1
  104. package/guidelines/typography-overview.json +5 -9
  105. package/guidelines/typography-system.json +39 -35
  106. package/guidelines/using-icons.json +19 -23
  107. package/guidelines/voice-and-tone.json +8 -4
  108. package/guidelines/whats-new.json +4 -15
  109. package/guidelines/writing-about-people.json +12 -16
  110. package/guidelines/writing-for-errors.json +41 -21
  111. package/guidelines/writing-for-onboarding.json +22 -18
  112. package/guidelines/writing-for-readability.json +17 -5
  113. package/guidelines/writing-with-visuals.json +19 -11
  114. package/package.json +2 -2
  115. package/registry/platform-implementations.json +30 -0
  116. package/tokens/layout.tokens.json +88 -0
  117. package/guidelines/content-design-grammar-and-mechanics.json +0 -241
  118. package/guidelines/content-design-voice-and-tone.json +0 -37
  119. package/guidelines/content-grammar-and-mechanics.json +0 -252
  120. package/guidelines/content-language-and-inclusivity-writing-about-people.json +0 -103
  121. package/guidelines/content-language-and-inclusivity-writing-with-visuals.json +0 -70
  122. package/guidelines/content-voice-and-tone.json +0 -47
  123. package/guidelines/language-and-inclusivity-writing-about-people.json +0 -85
  124. package/guidelines/language-and-inclusivity-writing-with-visuals.json +0 -61
  125. package/guidelines/layout-and-structure-containers.json +0 -47
  126. package/guidelines/layout-and-structure-spacing-overview.json +0 -66
  127. package/guidelines/visual-language-containers.json +0 -36
  128. package/registry/platform-extensions/web-components-states.json +0 -58
@@ -16,55 +16,37 @@
16
16
  },
17
17
  {
18
18
  "type": "guideline",
19
- "content": "An accordion displays a list of items that can be expanded or collapsed to show additional content. It can support zero, one, or multiple expanded items at a time."
19
+ "content": "Single vs. multiple expansion.\n\nBy default, only one accordion item may be expanded at a time. However, the component can be configured to allow multiple items to remain open simultaneously."
20
20
  },
21
21
  {
22
22
  "type": "guideline",
23
- "content": "By default, only one accordion item can be expanded at a time. Use the isMultiple option to allow multiple items to be expanded simultaneously."
23
+ "content": "Title wrapping.\n\nAccordion titles wrap automatically if they exceed the available width."
24
24
  },
25
25
  {
26
26
  "type": "guideline",
27
- "content": "Accordions can contain any number of items. Each item can be expanded or collapsed by interacting with any part of the item."
27
+ "content": "Optional actions.\n\nAn optional action button or switch can be placed on the trailing edge of an accordion item to support contextual interactions."
28
28
  },
29
29
  {
30
30
  "type": "guideline",
31
- "content": "Accordions come in three densities: compact, regular, and spacious. Each of the different densities have the same font size, but have tighter or looser vertical spacing between the rows."
31
+ "content": "Progressive disclosure.\n\nAccordions are effective for organizing large amounts of related content within a limited space. They help users stay focused by revealing information only when it's needed, making them ideal for scenarios where not all content needs to be visible at once."
32
32
  },
33
33
  {
34
- "type": "guideline",
35
- "content": "Individual accordion items can be disabled using the isDisabled option. Disabled items cannot be expanded or collapsed."
36
- },
37
- {
38
- "type": "guideline",
39
- "content": "By default, accordions have dividers between sections. This style works best when lots of content is inside each section."
40
- },
41
- {
42
- "type": "guideline",
43
- "content": "Alternatively, you can have no dividers between sections. This style works best when a clear layout (vertical stack, table, grid) makes it easy see and understand. Too many quiet components in a small space can be hard to differentiate."
44
- },
45
- {
46
- "type": "guideline",
47
- "content": "Accordions come in four different sizes: small, medium, large, and extra-large. The medium size is the default and recommended option. Use the other sizes sparingly; they should be used to create a hierarchy of importance within the page. Each of the different sizes have varying font sizes, and tighter or looser vertical spacing between the rows."
48
- },
49
- {
50
- "type": "guideline",
51
- "content": "By default, only one accordion item may be expanded at a time. However, the component can be configured to allow multiple items to remain open simultaneously."
52
- },
53
- {
54
- "type": "guideline",
55
- "content": "Accordion titles wrap automatically if they exceed the available width."
56
- },
57
- {
58
- "type": "guideline",
59
- "content": "An optional action button or switch can be placed on the trailing edge of an accordion item to support contextual interactions."
60
- },
34
+ "type": "do-dont",
35
+ "content": "Avoid accordion overuse",
36
+ "dont": "Avoid using accordions when users are likely to read all the content in one go, as they can introduce unnecessary clicks and hinder the user experience. For complex or deeply nested information structures, consider alternative components such as tree views or tabs to maintain clarity and ease of navigation"
37
+ }
38
+ ],
39
+ "implementations": [
61
40
  {
62
- "type": "guideline",
63
- "content": "Accordions are effective for organizing large amounts of related content within a limited space. They help users stay focused by revealing information only when it's needed, making them ideal for scenarios where not all content needs to be visible at once."
41
+ "platform": "web",
42
+ "componentName": "Accordion",
43
+ "package": "@react-spectrum/s2"
64
44
  },
65
45
  {
66
- "type": "guideline",
67
- "content": "Avoid using accordions when users are likely to read all the content in one go, as they can introduce unnecessary clicks and hinder the user experience. For complex or deeply nested information structures, consider alternative components such as tree views or tabs to maintain clarity and ease of navigation."
46
+ "platform": "web",
47
+ "componentName": "Accordion",
48
+ "importPath": "@adobe/spectrum-wc/components/accordion",
49
+ "notes": "Spectrum 2 web component custom element: swc-accordion."
68
50
  }
69
51
  ],
70
52
  "options": {
@@ -9,6 +9,13 @@
9
9
  "category": "actions",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/action-bar/"
11
11
  },
12
+ "implementations": [
13
+ {
14
+ "platform": "web",
15
+ "componentName": "ActionBar",
16
+ "package": "@react-spectrum/s2"
17
+ }
18
+ ],
12
19
  "documentBlocks": [
13
20
  {
14
21
  "type": "purpose",
@@ -52,15 +52,28 @@
52
52
  },
53
53
  {
54
54
  "type": "guideline",
55
- "content": "Keyboard interactions.\n\nWhen an action button does not feature a hold icon: Key Interaction Space or EnterExecutes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller.TabMoves focus into the action button component and places focus on the selected action item.Shift + TabReturns focus to the previous action within the action button component. When an action button features a hold icon: Key Interaction EnterExecutes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller.SpaceOpens the popover menu.Alt + Down ArrowOpens the popover menu.TabMoves focus into the action button component and places focus on the selected action item.Shift + TabReturns focus to the previous action within the action button component."
55
+ "content": "Keyboard interactions.\n\nWhen an action button does not feature a hold icon: Key Interaction Space or Enter Executes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller. Tab Moves focus into the action button component and places focus on the selected action item. Shift + Tab Returns focus to the previous action within the action button component. When an action button features a hold icon: Key Interaction Enter Executes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller. Space Opens the popover menu. Alt + Down Arrow Opens the popover menu. Tab Moves focus into the action button component and places focus on the selected action item. Shift + Tab Returns focus to the previous action within the action button component."
56
56
  },
57
57
  {
58
58
  "type": "guideline",
59
- "content": "Cursor guidelines.\n\nCursor Usage PointerUse the pointer cursor for all interactive components in every state."
59
+ "content": "Cursor guidelines.\n\nCursor Usage Pointer Use the pointer cursor for all interactive components in every state."
60
60
  },
61
61
  {
62
62
  "type": "guideline",
63
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as icons used in action buttons—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAAAction buttons should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized.Text contrast 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Non-text contrast 1.4.11 AAThe visual presentation of icons and various states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size if text is wrapped inside an action button. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
63
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as icons used in action buttons—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Action buttons should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized. Text contrast 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Non-text contrast 1.4.11 AA The visual presentation of icons and various states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size if text is wrapped inside an action button. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
64
+ }
65
+ ],
66
+ "implementations": [
67
+ {
68
+ "platform": "web",
69
+ "componentName": "ActionButton",
70
+ "package": "@react-spectrum/s2"
71
+ },
72
+ {
73
+ "platform": "web",
74
+ "componentName": "ActionButton",
75
+ "importPath": "@adobe/spectrum-wc/components/action-button",
76
+ "notes": "Spectrum 2 web component custom element: swc-action-button."
64
77
  }
65
78
  ],
66
79
  "options": {
@@ -9,6 +9,14 @@
9
9
  "category": "actions",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/action-group/"
11
11
  },
12
+ "implementations": [
13
+ {
14
+ "platform": "web",
15
+ "componentName": "ActionGroup",
16
+ "importPath": "@adobe/spectrum-wc/components/action-group",
17
+ "notes": "Spectrum 2 web component custom element: swc-action-group."
18
+ }
19
+ ],
12
20
  "documentBlocks": [
13
21
  {
14
22
  "type": "purpose",
@@ -30,6 +30,10 @@
30
30
  "type": "guideline",
31
31
  "content": "Don’t nest alert dialogs.\n\nAlert dialogs are designed to pause the experience until a decision is made, so only one should appear at a time. Avoid opening an alert dialog from within another. If a situation seems to require a sequence of decisions, consider using a different design pattern."
32
32
  },
33
+ {
34
+ "type": "guideline",
35
+ "content": "Writing for alert dialogs starts by determining the nature of the message. Each Spectrum alert dialog variant has its own communication goal and tone that work in partnership with its visual design. Alert dialog variant Goal Tone Confirmation Asking a user to confirm an action they want to take. Instructive Information Sharing important information that a user needs to acknowledge. Helpful Warning Sharing time-sensitive information that a user needs to consider, but won’t block them from proceeding. Instructive to helpful Destructive Telling a user that if they are to proceed with an action they want to take, it may impact their data in a negative way. Instructive Error Communicating critical information about an issue that a user needs to resolve before they can move forward with a task. Supportive"
36
+ },
33
37
  {
34
38
  "type": "guideline",
35
39
  "content": "Writing the title.\n\nAll alert dialogs must have a title. The title communicates the upshot of the message, such as the eventual outcome or conclusion of an action. It should be as close as possible to a complete sentence (subject + verb). Don’t use punctuation at the end of the title. Most alert dialog titles communicate the main effect of whatever a person is about to do. Titles ideally use the same or similar phrasing as the call-to-action that had led someone to the alert dialog in the first place. The title of an error alert dialog communicates the result of the error. Don’t just state that an error has occurred."
@@ -60,15 +64,22 @@
60
64
  },
61
65
  {
62
66
  "type": "guideline",
63
- "content": "Keyboard interactions.\n\nKey Interaction TabMoves focus to the next button inside the alert dialog (last becomes first). If none of the buttons are selected, the focus is set on the first button.Shift + TabMoves focus to the previous button inside the alert dialog (first becomes last). If none of the buttons are selected, the focus is set on the last button.EscDismisses the alert dialog. This is equivalent to choosing “Cancel” or an “OK” confirmation.EscDismisses the alert banner if possible. This is equivalent to selecting the close button."
67
+ "content": "Keyboard interactions.\n\nKey Interaction Tab Moves focus to the next button inside the alert dialog (last becomes first). If none of the buttons are selected, the focus is set on the first button. Shift + Tab Moves focus to the previous button inside the alert dialog (first becomes last). If none of the buttons are selected, the focus is set on the last button. Esc Dismisses the alert dialog. This is equivalent to choosing “Cancel” or an “OK” confirmation. Esc Dismisses the alert banner if possible. This is equivalent to selecting the close button."
64
68
  },
65
69
  {
66
70
  "type": "guideline",
67
- "content": "Cursor guidelines.\n\nCursor Usage Default (Arrow)Use the default cursor for non-interactive elements and text within the alert dialog.PointerUse the pointer cursor for any interactive elements, such as buttons, inside the alert dialog."
71
+ "content": "Cursor guidelines.\n\nCursor Usage Default (Arrow) Use the default cursor for non-interactive elements and text within the alert dialog. Pointer Use the pointer cursor for any interactive elements, such as buttons, inside the alert dialog."
68
72
  },
69
73
  {
70
74
  "type": "guideline",
71
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon-text elements, such as icons used in alert dialogs, must provide a text alternative that communicates the dialog's purpose. All alert dialogs need an accessible name (for example, via a title, aria-label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAAAlert dialogs should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role of alertdialog should be utilized.Use of color 1.4.1 AColor is not used as a means to convey information or distinguish elements.Contrast 1.4.3 AAThe visual presentation of text has a contrast ratio of at least 4.5:1.Visual presentation 1.4.8 AAAThe width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified.Non-text contrast 1.4.11 AAThe visual presentation of illustrations and component states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
75
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non-text elements, such as icons used in alert dialogs, must provide a text alternative that communicates the dialog's purpose. All alert dialogs need an accessible name (for example, via a title, aria-label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Alert dialogs should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role of alertdialog should be utilized. Use of color 1.4.1 A Color is not used as a means to convey information or distinguish elements. Contrast 1.4.3 AA The visual presentation of text has a contrast ratio of at least 4.5:1. Visual presentation 1.4.8 AAA The width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified. Non-text contrast 1.4.11 AA The visual presentation of illustrations and component states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
76
+ }
77
+ ],
78
+ "implementations": [
79
+ {
80
+ "platform": "web",
81
+ "componentName": "AlertDialog",
82
+ "package": "@react-spectrum/s2"
72
83
  }
73
84
  ],
74
85
  "options": {
@@ -16,27 +16,23 @@
16
16
  },
17
17
  {
18
18
  "type": "guideline",
19
- "content": "An avatar group displays a set of related avatars together. It’s typically used to represent a collection of people or entities."
19
+ "content": "Keyboard focus.\n\nIndividual avatars inside Avatar group can be navigated using a keyboard. The keyboard focus state adds a focus ring around the avatar."
20
20
  },
21
21
  {
22
22
  "type": "guideline",
23
- "content": "Avatar sizes scale exponentially, based on the Spectrum type scale. Avatar has preset sizes to flex across all surfaces and can also be customized to fit appropriately for your context."
23
+ "content": "Adjusting stroke color to match neutral backgrounds.\n\nEach individual avatar has a stroke applied to better show distinction between individual users in the group. By default, the outline color is a neutral gray, but the stroke color should be adjusted manually to match the background where the avatar group is placed."
24
24
  },
25
25
  {
26
- "type": "guideline",
27
- "content": "An Avatar group can have an optional text label that clearly describes the group or number of users that it represents."
28
- },
29
- {
30
- "type": "guideline",
31
- "content": "Individual avatars inside Avatar group can be navigated using a keyboard. The keyboard focus state adds a focus ring around the avatar."
32
- },
33
- {
34
- "type": "guideline",
35
- "content": "Each individual avatar has a stroke applied to better show distinction between individual users in the group. By default, the outline color is a neutral gray, but the stroke color should be adjusted manually to match the background where the avatar group is placed."
36
- },
26
+ "type": "do-dont",
27
+ "content": "Do not adjust stroke color on a colored background",
28
+ "dont": "When using a colored background the avatar stroke color should remain set as default for both light and dark themes."
29
+ }
30
+ ],
31
+ "implementations": [
37
32
  {
38
- "type": "guideline",
39
- "content": "When using a colored background the avatar stroke color should remain set as default for both light and dark themes."
33
+ "platform": "web",
34
+ "componentName": "AvatarGroup",
35
+ "package": "@react-spectrum/s2"
40
36
  }
41
37
  ],
42
38
  "options": {
@@ -16,39 +16,36 @@
16
16
  },
17
17
  {
18
18
  "type": "guideline",
19
- "content": "An avatar in a disabled state shows that an avatar exists, but is not available or a user is not active in that circumstance. This can be used to maintain layout continuity and communicate that an avatar may become available or active later."
19
+ "content": "Keyboard focus.\n\nAn avatar can be navigated using a keyboard. The keyboard focus state adds a blue ring to the avatar in focus."
20
20
  },
21
21
  {
22
22
  "type": "guideline",
23
- "content": "When used as an individual Avatar, showStroke is false by default. When used in Avatar group, showStroke is true by default to create separation between the stacked group of Avatar components."
23
+ "content": "Multiple avatars in a group.\n\nAn avatar group displays a set of related avatars together. It’s typically used to represent a collection of people or entities."
24
24
  },
25
25
  {
26
26
  "type": "guideline",
27
- "content": "Avatar sizes scale exponentially, based on the Spectrum type scale. Avatar has preset sizes to flex across all surfaces and can also be customized to fit appropriately for your context."
27
+ "content": "Use gradient image avatars when a user image is undefined.\n\nUse branded generic avatars when a user has not set their avatar image. These images are designed to be abstracted from all genders, locales, and cultures."
28
28
  },
29
29
  {
30
30
  "type": "guideline",
31
- "content": "An avatar has multiple visual styles, depending on the user preference. These show up as branded gradient images, initials of the user’s name, as well as any image that a user uploads. For users who do not have Adobe accounts, they will default to the guest avatar."
31
+ "content": "Use the initials avatar style for users with latin characters only.\n\nThe initials avatar is designed to work with latin characters only and supports 1 or 2 characters that are programmatically identified by the first name and last name in a user's account settings. For users with non-latin characters, their default avatar should be the gradient image style."
32
32
  },
33
33
  {
34
34
  "type": "guideline",
35
- "content": "An avatar can be navigated using a keyboard. The keyboard focus state adds a blue ring to the avatar in focus."
36
- },
37
- {
38
- "type": "guideline",
39
- "content": "An avatar group displays a set of related avatars together. It’s typically used to represent a collection of people or entities."
40
- },
41
- {
42
- "type": "guideline",
43
- "content": "Use branded generic avatars when a user has not set their avatar image. These images are designed to be abstracted from all genders, locales, and cultures."
44
- },
35
+ "content": "Use the guest avatar style for users without an Adobe account.\n\nThe guest avatar style is designed for users who may be interacting with Adobe products, but are not logged in or do not have an Adobe account."
36
+ }
37
+ ],
38
+ "implementations": [
45
39
  {
46
- "type": "guideline",
47
- "content": "The initials avatar is designed to work with latin characters only and supports 1 or 2 characters that are programmatically identified by the first name and last name in a user’s account settings. For users with non-latin characters, their default avatar should be the gradient image style."
40
+ "platform": "web",
41
+ "componentName": "Avatar",
42
+ "package": "@react-spectrum/s2"
48
43
  },
49
44
  {
50
- "type": "guideline",
51
- "content": "The guest avatar style is designed for users who may be interacting with Adobe products, but are not logged in or do not have an Adobe account."
45
+ "platform": "web",
46
+ "componentName": "Avatar",
47
+ "importPath": "@adobe/spectrum-wc/components/avatar",
48
+ "notes": "Spectrum 2 web component custom element: swc-avatar."
52
49
  }
53
50
  ],
54
51
  "options": {
@@ -51,11 +51,24 @@
51
51
  },
52
52
  {
53
53
  "type": "guideline",
54
- "content": "Cursor guidelines.\n\nCursor Usage Default (Arrow)Use the default cursor for non-interactive components like the badge."
54
+ "content": "Cursor guidelines.\n\nCursor Usage Default (Arrow) Use the default cursor for non-interactive components like the badge."
55
55
  },
56
56
  {
57
57
  "type": "guideline",
58
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as icons used in badges—must provide a text alternative that communicates the badge’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAABadges should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized.Use of color 1.4.1 AColor is never used as the sole way to convey meaning in buttons. Badges use color to reinforce their meaning, but every badge also includes a clear text label that communicates purpose.Text contrast minimums 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Non-text contrast 1.4.11 AAThe visual presentation of icons have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size when wrapped. 2. Operable Requirement Criterion Level Compliance Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component."
58
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as icons used in badges—must provide a text alternative that communicates the badge’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Badges should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in buttons. Badges use color to reinforce their meaning, but every badge also includes a clear text label that communicates purpose. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Non-text contrast 1.4.11 AA The visual presentation of icons have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size when wrapped. 2. Operable Requirement Criterion Level Compliance Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component."
59
+ }
60
+ ],
61
+ "implementations": [
62
+ {
63
+ "platform": "web",
64
+ "componentName": "Badge",
65
+ "package": "@react-spectrum/s2"
66
+ },
67
+ {
68
+ "platform": "web",
69
+ "componentName": "Badge",
70
+ "importPath": "@adobe/spectrum-wc/components/badge",
71
+ "notes": "Spectrum 2 web component custom element: swc-badge."
59
72
  }
60
73
  ],
61
74
  "options": {
@@ -9,6 +9,13 @@
9
9
  "category": "navigation",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/breadcrumbs/"
11
11
  },
12
+ "implementations": [
13
+ {
14
+ "platform": "web",
15
+ "componentName": "Breadcrumbs",
16
+ "package": "@react-spectrum/s2"
17
+ }
18
+ ],
12
19
  "documentBlocks": [
13
20
  {
14
21
  "type": "purpose",
@@ -44,15 +44,28 @@
44
44
  },
45
45
  {
46
46
  "type": "guideline",
47
- "content": "Keyboard interactions.\n\nKey Interaction TabMoves focus onto or off of the button group. Focus is placed on the primary button of the group.Shift + TabMoves focus to the previous component.Space or EnterExecutes the selected action within the button group. Focus remains on the active button to preserve context across the group. If the action opens or closes a related container, focus moves into the resulting context or returns to the triggering buttonArrow keysMoves focus through the group of buttons."
47
+ "content": "Keyboard interactions.\n\nKey Interaction Tab Moves focus onto or off of the button group. Focus is placed on the primary button of the group. Shift + Tab Moves focus to the previous component. Space or Enter Executes the selected action within the button group. Focus remains on the active button to preserve context across the group. If the action opens or closes a related container, focus moves into the resulting context or returns to the triggering button Arrow keys Moves focus through the group of buttons."
48
48
  },
49
49
  {
50
50
  "type": "guideline",
51
- "content": "Cursor guidelines.\n\nCursor Usage PointerUse the pointer cursor for all interactive components in every state."
51
+ "content": "Cursor guidelines.\n\nCursor Usage Pointer Use the pointer cursor for all interactive components in every state."
52
52
  },
53
53
  {
54
54
  "type": "guideline",
55
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as icons used in buttons—must provide a text alternative that communicates the button’s purpose. All buttons, especially icon‑only buttons, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAAButtons should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role of buttons should be utilized.Orientation 1.3.4 AAButton groups are available in both vertical and horizontal orientations.Use of color 1.4.1 AColor is never used as the sole way to convey meaning in buttons. While negative buttons do use red to reinforce their purpose, every button also includes a clear text label that communicates the action it performs.Text contrast 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Non-text contrast 1.4.11 AAThe visual presentation of icons and various states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size when text is wrapped in buttons. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
55
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as icons used in buttons—must provide a text alternative that communicates the button’s purpose. All buttons, especially icon‑only buttons, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Buttons should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role of buttons should be utilized. Orientation 1.3.4 AA Button groups are available in both vertical and horizontal orientations. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in buttons. While negative buttons do use red to reinforce their purpose, every button also includes a clear text label that communicates the action it performs. Text contrast 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Non-text contrast 1.4.11 AA The visual presentation of icons and various states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size when text is wrapped in buttons. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
56
+ }
57
+ ],
58
+ "implementations": [
59
+ {
60
+ "platform": "web",
61
+ "componentName": "ButtonGroup",
62
+ "package": "@react-spectrum/s2"
63
+ },
64
+ {
65
+ "platform": "web",
66
+ "componentName": "ButtonGroup",
67
+ "importPath": "@adobe/spectrum-wc/components/button-group",
68
+ "notes": "Spectrum 2 web component custom element: swc-button-group."
56
69
  }
57
70
  ],
58
71
  "options": {
@@ -94,15 +94,28 @@
94
94
  },
95
95
  {
96
96
  "type": "guideline",
97
- "content": "Keyboard interactions.\n\nKey Interaction TabMoves focus onto or off of the button.Space or EnterExecutes the button action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller."
97
+ "content": "Keyboard interactions.\n\nKey Interaction Tab Moves focus onto or off of the button. Space or Enter Executes the button action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller."
98
98
  },
99
99
  {
100
100
  "type": "guideline",
101
- "content": "Cursor guidelines.\n\nCursor Usage PointerUse the pointer cursor for all interactive components."
101
+ "content": "Cursor guidelines.\n\nCursor Usage Pointer Use the pointer cursor for all interactive components."
102
102
  },
103
103
  {
104
104
  "type": "guideline",
105
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as icons used in buttons—must provide a text alternative that communicates the button’s purpose. All buttons, especially icon‑only buttons, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAAButtons should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role of buttons should be utilized.Use of color 1.4.1 AColor is never used as the sole way to convey meaning in buttons. While negative buttons do use red to reinforce their purpose, every button also includes a clear text label that communicates the action it performs.Text contrast minimums 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Resize text 1.4.4 AAButtons should be built in such a way that they can be resized without assistive technology up to 200%.Visual presentation 1.4.8 AAAThe width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified.Non-text contrast 1.4.11 AAThe visual presentation of icons and various states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
105
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as icons used in buttons—must provide a text alternative that communicates the button’s purpose. All buttons, especially icon‑only buttons, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Buttons should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role of buttons should be utilized. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in buttons. While negative buttons do use red to reinforce their purpose, every button also includes a clear text label that communicates the action it performs. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Resize text 1.4.4 AA Buttons should be built in such a way that they can be resized without assistive technology up to 200%. Visual presentation 1.4.8 AAA The width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified. Non-text contrast 1.4.11 AA The visual presentation of icons and various states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
106
+ }
107
+ ],
108
+ "implementations": [
109
+ {
110
+ "platform": "web",
111
+ "componentName": "Button",
112
+ "package": "@react-spectrum/s2"
113
+ },
114
+ {
115
+ "platform": "web",
116
+ "componentName": "Button",
117
+ "importPath": "@adobe/spectrum-wc/components/button",
118
+ "notes": "Spectrum 2 web component custom element: swc-button."
106
119
  }
107
120
  ],
108
121
  "options": {
@@ -9,6 +9,13 @@
9
9
  "category": "inputs",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/calendar/"
11
11
  },
12
+ "implementations": [
13
+ {
14
+ "platform": "web",
15
+ "componentName": "Calendar",
16
+ "package": "@react-spectrum/s2"
17
+ }
18
+ ],
12
19
  "documentBlocks": [
13
20
  {
14
21
  "type": "purpose",
@@ -17,6 +17,19 @@
17
17
  "description": "Preview area or thumbnail within the card."
18
18
  }
19
19
  ],
20
+ "implementations": [
21
+ {
22
+ "platform": "web",
23
+ "componentName": "Card",
24
+ "package": "@react-spectrum/s2"
25
+ },
26
+ {
27
+ "platform": "web",
28
+ "componentName": "Card",
29
+ "importPath": "@adobe/spectrum-wc/components/card",
30
+ "notes": "Spectrum 2 web component custom element: swc-card."
31
+ }
32
+ ],
20
33
  "states": [{ "name": "default" }],
21
34
  "lifecycle": { "introduced": "1.0.0-draft" }
22
35
  }
@@ -16,7 +16,7 @@
16
16
  },
17
17
  {
18
18
  "type": "guideline",
19
- "content": "Card component Purpose / use case Interaction type Common visual elements FlexGeneral-purpose, flexible content containerVaries (Static or Clickable)Title, preview, checkboxAssetDisplay assets like images, text documents, files, videos, materials, etc.Clickable (navigates to 1-up view), selectablePreview, filename, metadata, checkboxGalleryShow multiple images or videos in a river grid.Clickable (navigates to 1-up view), selectablePreview, badge, checkboxCollectionGroup related items such as assets or products in a library of items.Clickable (drill-in), selectablemulti or hero multi previews, collection title, checkboxProductDisplay product details for interactionClickable (drill-in), selectableCover image, thumbnail (logo), product title, checkboxHorizontalDisplaying mostly text, possibly with a cropped cover image or icon.Clickable (drill-in)Optional cropped preview, icon, or thumbnail, title, metadata"
19
+ "content": "Card component Purpose / use case Interaction type Common visual elements Flex General-purpose, flexible content container Varies (Static or Clickable) Title, preview, checkbox Asset Display assets like images, text documents, files, videos, materials, etc. Clickable (navigates to 1-up view), selectable Preview, filename, metadata, checkbox Gallery Show multiple images or videos in a river grid. Clickable (navigates to 1-up view), selectable Preview, badge, checkbox Collection Group related items such as assets or products in a library of items. Clickable (drill-in), selectable multi or hero multi previews, collection title, checkbox Product Display product details for interaction Clickable (drill-in), selectable Cover image, thumbnail (logo), product title, checkbox Horizontal Displaying mostly text, possibly with a cropped cover image or icon. Clickable (drill-in) Optional cropped preview, icon, or thumbnail, title, metadata"
20
20
  },
21
21
  {
22
22
  "type": "guideline",
@@ -63,15 +63,15 @@
63
63
  },
64
64
  {
65
65
  "type": "guideline",
66
- "content": "Keyboard interactions.\n\nKey Interaction TabMoves focus forward to the next card.Arrow keysMoves focus within the card to focusable items within the card. If a button is included on the cards, the button should receive focus first. If there are multiple buttons, the primary or CTA button should receive focus first.Shift + TabMoves focus backward to the previous card.Return or EnterIf the card itself is clickable, Return or Enter will open the card. If the card is not clickable but has buttons, and the buttons or another item within the card is focused, that action is performed.SpaceIf the card is selectable, the space bar will toggle selection.Ctrl / Command + Arrow keysNon-contiguous selection of cards."
66
+ "content": "Keyboard interactions.\n\nKey Interaction Tab Moves focus forward to the next card. Arrow keys Moves focus within the card to focusable items within the card. If a button is included on the cards, the button should receive focus first. If there are multiple buttons, the primary or CTA button should receive focus first. Shift + Tab Moves focus backward to the previous card. Return or Enter If the card itself is clickable, Return or Enter will open the card. If the card is not clickable but has buttons, and the buttons or another item within the card is focused, that action is performed. Space If the card is selectable, the space bar will toggle selection. Ctrl / Command + Arrow keys Non-contiguous selection of cards."
67
67
  },
68
68
  {
69
69
  "type": "guideline",
70
- "content": "Cursor guidelines.\n\nNon-interactive cards Cursor Description Default (Arrow)Use the default cursor for non-interactive cards. Cards with interactive elements Cursor Description Default (Arrow)Use the default cursor for the non-interactive portions of the card.PointerUse the pointer cursor for the interactive elements.Grab handUse the grab hand cursor when hovering over cards that are draggable. Cards that have other interactive elements that are also draggable should first enter a drag mode before showing the grab cursors and allowing a drag action.Grab fistUse the grab fist cursor when actively dragging a card. Fully interactive cards Cursor Description PointerUse the pointer cursor for the entire card surface when the card is interactive, for example, if clicking the card will navigate to a one-up view.Grab handUse the grab hand cursor when hovering over cards that are draggable.Grab fistUse the grab fist cursor when actively dragging a card."
70
+ "content": "Cursor guidelines.\n\nNon-interactive cards Cursor Description Default (Arrow) Use the default cursor for non-interactive cards. Cards with interactive elements Cursor Description Default (Arrow) Use the default cursor for the non-interactive portions of the card. Pointer Use the pointer cursor for the interactive elements. Grab hand Use the grab hand cursor when hovering over cards that are draggable. Cards that have other interactive elements that are also draggable should first enter a drag mode before showing the grab cursors and allowing a drag action. Grab fist Use the grab fist cursor when actively dragging a card. Fully interactive cards Cursor Description Pointer Use the pointer cursor for the entire card surface when the card is interactive, for example, if clicking the card will navigate to a one-up view. Grab hand Use the grab hand cursor when hovering over cards that are draggable. Grab fist Use the grab fist cursor when actively dragging a card."
71
71
  },
72
72
  {
73
73
  "type": "guideline",
74
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as icons or illustrations used in cards—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 AACards should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized.Orientation 1.3.4 AACards are available in both vertical and horizontal orientations.Use of color 1.4.1 AColor is not used as a means to convey information or distinguish elements, indicate an action, or prompt a response. Color is always paired with text or icons, and is only used to enhance the meaning of the text.Text contrast 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Visual presentation 1.4.8 AAAThe width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified.Non-text contrast 1.4.11 AAThe visual presentation of illustrations, icons, and component states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
74
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as icons or illustrations used in cards—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 AA Cards should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized. Orientation 1.3.4 AA Cards are available in both vertical and horizontal orientations. Use of color 1.4.1 A Color is not used as a means to convey information or distinguish elements, indicate an action, or prompt a response. Color is always paired with text or icons, and is only used to enhance the meaning of the text. Text contrast 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Visual presentation 1.4.8 AAA The width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified. Non-text contrast 1.4.11 AA The visual presentation of illustrations, icons, and component states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
75
75
  }
76
76
  ],
77
77
  "options": {
@@ -20,15 +20,22 @@
20
20
  },
21
21
  {
22
22
  "type": "guideline",
23
- "content": "Keyboard interactions.\n\nKey Interaction TabTabbing into a group of checkboxes places the focus on the first checkbox (only one checkbox receives the keyboard focus at a time).Shift + TabMoves focus to the previous item or group of items.Arrow keysMoves focus through the group of checkboxes.Page Up or Page DownMoves focus to the previous or next checkbox in the group (last becomes first, and first becomes last).Home or EndMoves focus to the first or last checkbox in the group.Space or EnterToggles the checkbox between selected and not selected. If the checkbox is partially selected initially, the checkbox becomes selected first (subsequent toggles alternate normally between selected and not selected)."
23
+ "content": "Keyboard interactions.\n\nKey Interaction Tab Tabbing into a group of checkboxes places the focus on the first checkbox (only one checkbox receives the keyboard focus at a time). Shift + Tab Moves focus to the previous item or group of items. Arrow keys Moves focus through the group of checkboxes. Page Up or Page Down Moves focus to the previous or next checkbox in the group (last becomes first, and first becomes last). Home or End Moves focus to the first or last checkbox in the group. Space or Enter Toggles the checkbox between selected and not selected. If the checkbox is partially selected initially, the checkbox becomes selected first (subsequent toggles alternate normally between selected and not selected)."
24
24
  },
25
25
  {
26
26
  "type": "guideline",
27
- "content": "Cursor guidelines.\n\nCursor Description PointerUse the pointer cursor for interactive elements like checkboxes."
27
+ "content": "Cursor guidelines.\n\nCursor Description Pointer Use the pointer cursor for interactive elements like checkboxes."
28
28
  },
29
29
  {
30
30
  "type": "guideline",
31
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as the checkbox control—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAACheckboxes should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized.Orientation 1.3.4 AACheckbox groups are available in both vertical and horizontal orientations.Use of color 1.4.1 AColor is not used as a means to convey information or distinguish elements, indicate an action, or prompt a response. Color is always paired with text or icons, and is only used to enhance the meaning of the text.Text contrast minimums 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Resize text 1.4.4 AACheckboxes should be built in such a way that they can be resized without assistive technology up to 200%.Visual presentation 1.4.8 AAAThe width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified.Non-text contrast 1.4.11 AAThe checkbox control and its various states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size when the label is wrapped. 2. Operable RequirementCriterionLevel Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
31
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as the checkbox control—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Checkboxes should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized. Orientation 1.3.4 AA Checkbox groups are available in both vertical and horizontal orientations. Use of color 1.4.1 A Color is not used as a means to convey information or distinguish elements, indicate an action, or prompt a response. Color is always paired with text or icons, and is only used to enhance the meaning of the text. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Resize text 1.4.4 AA Checkboxes should be built in such a way that they can be resized without assistive technology up to 200%. Visual presentation 1.4.8 AAA The width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified. Non-text contrast 1.4.11 AA The checkbox control and its various states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size when the label is wrapped. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
32
+ }
33
+ ],
34
+ "implementations": [
35
+ {
36
+ "platform": "web",
37
+ "componentName": "CheckboxGroup",
38
+ "package": "@react-spectrum/s2"
32
39
  }
33
40
  ],
34
41
  "options": {
@@ -52,15 +52,22 @@
52
52
  },
53
53
  {
54
54
  "type": "guideline",
55
- "content": "Keyboard interactions.\n\nKey Interaction TabTabbing into a group of checkboxes places the focus on the first checkbox (only one checkbox receives the keyboard focus at a time).Shift + TabMoves focus to the previous item or group of items.Space or EnterToggles the checkbox between selected and not selected. If the checkbox is partially selected initially, the checkbox becomes selected first (subsequent toggles alternate normally between selected and not selected)."
55
+ "content": "Keyboard interactions.\n\nKey Interaction Tab Tabbing into a group of checkboxes places the focus on the first checkbox (only one checkbox receives the keyboard focus at a time). Shift + Tab Moves focus to the previous item or group of items. Space or Enter Toggles the checkbox between selected and not selected. If the checkbox is partially selected initially, the checkbox becomes selected first (subsequent toggles alternate normally between selected and not selected)."
56
56
  },
57
57
  {
58
58
  "type": "guideline",
59
- "content": "Cursor guidelines.\n\nCursor Description PointerUse the pointer cursor for all interactive components in every state."
59
+ "content": "Cursor guidelines.\n\nCursor Description Pointer Use the pointer cursor for all interactive components in every state."
60
60
  },
61
61
  {
62
62
  "type": "guideline",
63
- "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as the checkbox control—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAACheckboxes should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized.Orientation 1.3.4 AACheckbox groups are available in both vertical and horizontal orientations.Use of color 1.4.1 AColor is not used as a means to convey information or distinguish elements, indicate an action, or prompt a response. Color is always paired with text or icons, and is only used to enhance the meaning of the text.Text contrast minimums 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Resize text 1.4.4 AACheckboxes should be built in such a way that they can be resized without assistive technology up to 200%.Visual presentation 1.4.8 AAACheckbox labels can wrap to multiple lines, so the 80-character (40 CJK) and no-justified-text guidance applies the same way it does for the group.Non-text contrast 1.4.11 AAThe checkbox control and its various states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size when the label is wrapped. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
63
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as the checkbox control—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Checkboxes should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized. Orientation 1.3.4 AA Checkbox groups are available in both vertical and horizontal orientations. Use of color 1.4.1 A Color is not used as a means to convey information or distinguish elements, indicate an action, or prompt a response. Color is always paired with text or icons, and is only used to enhance the meaning of the text. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Resize text 1.4.4 AA Checkboxes should be built in such a way that they can be resized without assistive technology up to 200%. Visual presentation 1.4.8 AAA Checkbox labels can wrap to multiple lines, so the 80-character (40 CJK) and no-justified-text guidance applies the same way it does for the group. Non-text contrast 1.4.11 AA The checkbox control and its various states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size when the label is wrapped. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
64
+ }
65
+ ],
66
+ "implementations": [
67
+ {
68
+ "platform": "web",
69
+ "componentName": "Checkbox",
70
+ "package": "@react-spectrum/s2"
64
71
  }
65
72
  ],
66
73
  "options": {