Conversation
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| const isInteractive = computed( | ||
| () => innerTag.value === "button" || innerTag.value === "a" || innerTag.value === "router-link", | ||
| ); | ||
| provide(INTERACTIVE_PARENT_KEY, isInteractive); |
There was a problem hiding this comment.
isInteractive never activates for current VcMenuItem usages
Medium Severity
The isInteractive computed only checks innerTag (which requires clickable, to, or externalLink props), but every VcMenuItem containing a VcCheckbox or VcRadioButton in production code uses @click without clickable. This means isInteractive is always false, INTERACTIVE_PARENT_KEY always provides false, and the conditional input hiding (v-if="!isInsideInteractive") and container tag switching (label → span) never activate — despite the code comment saying "ONLY in standalone mode."





Description
References
Jira-link:
https://virtocommerce.atlassian.net/browse/VCST-4566
Artifact URL:
https://vc3prerelease.blob.core.windows.net/packages/vc-theme-b2b-vue-2.42.0-pr-2193-38f0-38f027e0.zip
Note
Medium Risk
Touches core UI-kit primitives (
VcSelect,VcMenuItem,VcCheckbox,VcRadioButton) and changes DOM/ARIA structure and click handling, which could cause subtle regressions in keyboard navigation, focus, and selection behavior across the app.Overview
Accessibility overhaul for
VcSelectand dropdown options.VcSelectnow wires label→trigger via IDs, exposes proper listbox semantics (aria-expanded,aria-controls,aria-activedescendant,aria-describedby,aria-invalid/required/disabled), assigns stable option IDs, adds a polite live-region announcing search result counts, and distinguishes no results vs no options states.Menu/list semantics and embedded interactive controls.
VcDropdownMenucan now pass listid/role/aria-label;VcMenuItemnow supportsoptionId, conditionally rendersaria-selectedonly for valid roles, and preserves native list semantics unless an explicit ARIA role is set.VcCheckbox/VcRadioButtonwere refactored to avoid nested interactive elements inside clickableVcMenuItem(hide the real input, render a visual indicator, and switch container tag), and app code was adjusted to rely on menu-item clicks for selection (sorting, facet filters, org switcher).Docs/tests/i18n updates. Storybook stories were expanded and configured for a11y rules, and locales add new strings for
Clearand select live/no-options messaging.Written by Cursor Bugbot for commit 38f027e. This will update automatically on new commits. Configure here.