Conversation
…eb-components into conversation-ai-pattern
* feat(switch): switch token mapping to s2 border colors - preserve handle border colors for s1/express - use new system tokens for switch theme overrides - update handle background color for s2 foundations theme - emphasized down state color in s2 foundations theme - add themed border width variable so s2 can have a border; s1 and express remain intact, borderless - fix highcontrast variable typo and adds border color to switch input - fix typo for focus ring * refactor(switch): selected border color tokens - adds `--spectrum-switch-border-color-*` tokens to control the switch track border across all selected interaction states (needs to preserve s1/express and introduce new style behaviors in s2-foundations) - adds full set of emphasized selected handle border color tokens - set transparent border colors for s1/express where the track border is not visible * refactor(switch): disabled border color tokens * chore(switch): add changeset * fix(switch): remove circular references in custom props * fix(switch): enhance WHCM box-shadows and border colors * fix(switch): keyboard focused+hover bg color of handle * fix(switch): add box-shadow in transition to smooth the color changes * chore: update golden image hash
* refactor(switch): condense system theme bridge tokens To address some accessibility concerns regarding the contrast between switch's background color and light backgrounds, all themes have been updated. - condenses per-state handle border color tokens (default/hover/down/ focus) into --system-switch-handle-border-color and --system-switch-handle-border-color-selected tokens, since values are identical across all interaction states - remove the emphasized-selected-* tokens entirely because with the new styles they are the same as the non-emphasized variant - condenses --system-switch-handle-background-color-selected-* into a single token - adds --system-switch-border-color-* to each bridge matching the handle background color values per theme - updates S1 and Express unselected handle background colors to behave like the s2 foundations handle background where it responds to interaction states - renames --spectrum-switch-border-width-themed to --spectrum-switch-border-width since each theme now has a consistent border * fix(switch): remove unused variables in switch-overrides * fix(switch): clarify read-only state styles in switch.css * refactor(switch): incorporate new styles to all switch themes Due to accessibility contrast failures, all switches are updated to ensure the switch boundary is a high enough contrast ratio compared to its background. All switches now have a 2px border. - `--spectrum-switch-border-color-*` variables are defined via switch overrides now - replaces per-state handle border color references with the condensed `--spectrum-switch-handle-border-color`` and `--spectrum-switch-handle-border-color-selected`` tokens - replaces per-state selected handle background color references with the condensed `--spectrum-switch-handle-background-color-selected` token - removes the [emphasized][checked] handle border override block since emphasized and non-emphasized variants now share the same handle color - adds missing `--spectrum-switch-handle-border-color-selected-disabled` to the [disabled] block to have consistent disabled styling - adds `--highcontrast-switch-border-color-*` tokens to the forced-colors block so the track border responds correctly in Windows High Contrast - the --mod-switch-border-width-themed remains in tact so customization can still happen if consumers wish * fix(switch): whcm variables cleaned up - define the highcontrast variables correctly instead of manually changing properties, particularly for disabled switches - removes the manual property styles - correct a highcontrast variable name in switch.css - correct disabled handle border color * chore(switch): create changeset * chore: update golden image hash
…n slotted hosts (#6061) * fix(tooltip): prevent false self-managed trigger traversal warnings in slotted hosts * chore: remove story from VRTs * chore: remove race condition * fix(tooltip): use triggerElement setter in connectedCallback The connectedCallback in ActionMenu, PickerBase, and Picker was setting overlayElement.triggerElement directly, bypassing the tooltip's triggerElement setter. This left _triggerElement unset, causing the traversal fallback to fire and produce false warnings. * chore: add changeset for tooltip self-managed trigger fix Made-with: Cursor --------- Co-authored-by: Rajdeep Chandra <rajrock38@gmail.com> Co-authored-by: Rajdeep Chandra <rajdeepc@adobe.com>
…t migration (#6062) * docs(washmachine): create doc * docs(washing-machine): updating directory * docs(machine): adding washing machine documentation * docs(machine): adding suggested comments in a batch Co-authored-by: Stephanie Eckles <thinkdobecreate@gmail.com> Co-authored-by: Rúben Carvalho <rubcar@sapo.pt> * docs(machine): updating CSS and API section * docs(machine): addressing accessibility comments * docs(machine): addressing common problems table * docs(machine): updating washing machine documentation * docs(machine): addressing feedback * docs(machine): need to have spectrum-css and web-component in same workspace * docs(machine): remove choose your path stuff * docs(machine): addressing doc feedback * docs(machine): removing frontmatter from the md file * docs(machine): updating docs again * docs(machine): restoring status md * docs(machine): updating docs feedback --------- Co-authored-by: Stephanie Eckles <thinkdobecreate@gmail.com> Co-authored-by: Rúben Carvalho <rubcar@sapo.pt>
* feat(component docs): serve component docs as static markdown * fix(component docs): clean up unnecessary files
…ation (#6105) * docs: added a11y migration docs for POC components * chore: added rules to help generate more a11y migration docs * chore: updated rules for a11y recommendation docs * docs: added new progressbar design recommendations to migration docs
…6102) Add a StatusBadge block that renders `<swc-badge>` elements on each component's docs page, driven by `@status` and `@since` JSDoc tags on the component class. A CEM analyzer plugin extracts these tags into custom-elements.json so the badges are sourced from code. All current components tagged as preview @SInCE 0.0.1; icon tagged as internal.
* feat(ci): add contributor docs nav check to precommit hook * fix: agent will complete a11y checklist if creating pr description * fix: conventional commit skill matches our commitlint * fix: description for branch naming rule * docs: remove cursor specific reference
… with href and target="_blank" (#5937) * fix(button): fix anchorlink href double tab opening * chore: added changeset * fix: added link click on space --------- Co-authored-by: Rajdeep Chandra <rajdeepc@adobe.com>
- update contributor docs nav - fix a broken link
* chore: updated TOC for contributor docs * docs: added semenatic HTML and ARIA a11y docs * docs: moved to guide to storybook * docs: undo a11y docs in crontibutor guidelines * docs: undo a11y docs in crontibutor guidelines * Apply suggestions from code review Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com> * Update 2nd-gen/packages/swc/.storybook/guides/accessibility-guides/semantic_html_aria.mdx
* chore(avatar): add 1st pass of migration plan
* chore(avatar): iterate on component structure
* chore(avatar): iterate on styles
* chore(avatar): add stubs to storybook sidebar
* chore(avatar): improve alignment w/react spectrum + design docs
* chore(avatar): improved storybook controls
* fix(avatar): lint violations + storybook improvements
* fix(avatar): lint violations
* chore(avatar): revise migration plan
* chore(avatar): migrate api + typescript code
* chore(avatar): implement a11y recommendations + aria-hidden on host element
Per the accessibility migration analysis:
- Set aria-hidden="true" on the host (<swc-avatar>) when alt="" so the
entire shadow tree is reliably hidden from AT across JAWS/NVDA/VoiceOver
- Consolidate the alt-change logic in updated() to sync aria-hidden and
fire the missing-alt DEBUG warning in a single changes.has('alt') branch
- Improve alt JSDoc to explain the host aria-hidden behavior and clarify
that omitting alt only differs from decorative by the DEBUG warning
Closes: accessibility checklist items in migration-plan.md
* chore(avatar): migrate CSS to S2 style guide conventions
* chore(avatar): add Storybook interaction tests and Playwright ARIA snapshot tests
* chore(avatar): add Storybook documentation, args table defaults, and breaking changes note
* chore(avatar): create consumer-facing migration guide
* chore(avatar): fix test failures
* fix(avatar): clean up todos and other minor issues
* chore(avatar): adds disabled variant, tests and updates docs
* Update 2nd-gen/packages/swc/components/avatar/stories/avatar.stories.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/stories/avatar.stories.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update CONTRIBUTOR-DOCS/03_project-planning/03_components/avatar/migration-plan.md
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update CONTRIBUTOR-DOCS/03_project-planning/03_components/avatar/migration-plan.md
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update CONTRIBUTOR-DOCS/03_project-planning/03_components/avatar/migration-plan.md
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/core/components/avatar/Avatar.base.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/core/components/avatar/Avatar.base.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/migration.md
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/migration.md
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/migration.md
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/migration.md
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/core/components/avatar/Avatar.base.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/core/components/avatar/Avatar.base.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/stories/avatar.stories.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/core/components/avatar/Avatar.base.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/stories/avatar.stories.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/core/components/avatar/Avatar.base.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* fix(avatar): additional refactoring to properly support decorative property
* Update 2nd-gen/packages/swc/components/avatar/stories/avatar.stories.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/stories/avatar.stories.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/test/avatar.test.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* Update 2nd-gen/packages/swc/components/avatar/test/avatar.test.ts
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
* fix(avatar): remove duplicate test expectation
* Update 2nd-gen/packages/swc/components/avatar/avatar.css
Co-authored-by: Stephanie Eckles <seckles@adobe.com>
* docs(avatar): remove linked variant content from accessibility analysis
The Spectrum 2 spec dropped the linked avatar variant. Update the
accessibility migration analysis to reflect this: remove all linked-variant
ARIA/keyboard/tree-expectation sections, update property references from
1st-gen names (label/is-decorative) to 2nd-gen names (alt/decorative), and
add the <a>-wrapper pattern for consumers who need a linked avatar.
* chore(avatar): remove unnecessary avatar shim(s)
* Update 2nd-gen/packages/swc/components/avatar/avatar.css
Co-authored-by: Stephanie Eckles <seckles@adobe.com>
* chore(avatar): remove unnecessary class declarations and clean up documentation
* chore(avatar): rename stroke to avatar
* chore(avatar): clean up storybook control descriptions
* chore(avatar): make exposed css properties consistent with component property name
* fix(avatar): remove method section in storybook
---------
Co-authored-by: Nikki Massaro <5090492+nikkimk@users.noreply.github.com>
Co-authored-by: Stephanie Eckles <seckles@adobe.com>
|
📚 Branch Preview Links🔍 First Generation Visual Regression Test ResultsWhen a visual regression test fails (or has previously failed while working on this branch), its results can be found in the following URLs:
Deployed to Azure Blob Storage: If the changes are expected, update the |
Description
Motivation and context
Related issue(s)
Screenshots (if appropriate)
Author's checklist
Reviewer's checklist
patch,minor, ormajorfeaturesManual review test cases
Descriptive Test Statement
Descriptive Test Statement
Device review
Accessibility testing checklist
Required: Complete each applicable item and document your testing steps (replace the placeholders with your component-specific instructions).
Keyboard (required — document steps below) — What to test for: Focus order is logical; Tab reaches the component and all interactive descendants; Enter/Space activate where appropriate; arrow keys work for tabs, menus, sliders, etc.; no focus traps; Escape dismisses when applicable; focus indicator is visible.
Screen reader (required — document steps below) — What to test for: Role and name are announced correctly; state changes (e.g. expanded, selected) are announced; labels and relationships are clear; no unnecessary or duplicate announcements.