Skip to content

Ruben/conv ai#6165

Closed
rubencarvalho wants to merge 35 commits intomainfrom
ruben/conv-ai
Closed

Ruben/conv ai#6165
rubencarvalho wants to merge 35 commits intomainfrom
ruben/conv-ai

Conversation

@rubencarvalho
Copy link
Copy Markdown
Contributor

Description

Motivation and context

Related issue(s)

  • fixes [Issue Number]

Screenshots (if appropriate)


Author's checklist

  • I have read the CONTRIBUTING and PULL_REQUESTS documents.
  • I have reviewed at the Accessibility Practices for this feature, see: Aria Practices
  • I have added automated tests to cover my changes.
  • I have included a well-written changeset if my change needs to be published.
  • I have included updated documentation if my change required it.

Reviewer's checklist

  • Includes a Github Issue with appropriate flag or Jira ticket number without a link
  • Includes thoughtfully written changeset if changes suggested include patch, minor, or major features
  • Automated tests cover all use cases and follow best practices for writing
  • Validated on all supported browsers
  • All VRTs are approved before the author can update Golden Hash

Manual review test cases

  • Descriptive Test Statement

    1. Go here
    2. Do this action
    3. Expect this result
  • Descriptive Test Statement

    1. Go here
    2. Do this action
    3. Expect this result

Device review

  • Did it pass in Desktop?
  • Did it pass in (emulated) Mobile?
  • Did it pass in (emulated) iPad?

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.

    1. Go here
    2. Do this action
    3. Expect this result
  • 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.

    1. Go here
    2. Do this action
    3. Expect this result

TarunAdobe and others added 30 commits March 18, 2026 14:58
* 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
Rajdeepc and others added 5 commits April 10, 2026 09:17
… 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>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 10, 2026

⚠️ No Changeset found

Latest commit: ad95f2c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

📚 Branch Preview Links

🔍 First Generation Visual Regression Test Results

When 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: pr-6165

If the changes are expected, update the current_golden_images_cache hash in the circleci config to accept the new images. Instructions are included in that file.
If the changes are unexpected, you can investigate the cause of the differences and update the code accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants