Skip to content

[feat][#967] Add VSCode button tactile interaction effects#970

Merged
were merged 1 commit intomainfrom
issue-967
Feb 18, 2026
Merged

[feat][#967] Add VSCode button tactile interaction effects#970
were merged 1 commit intomainfrom
issue-967

Conversation

@were
Copy link
Contributor

@were were commented Feb 18, 2026

[feat][#967] Add VSCode button tactile interaction effects

Implemented hover and active state visual feedback for all buttons in the
VSCode extension webviews to create a tactile, responsive feel during user
interactions.

Changes

vscode/webview/plan/styles.css

  • Base button: Added 120ms transitions and transform effects
    • Hover: translateY(-1px) with enhanced shadow
    • Active: translateY(1px) with reduced shadow
  • .toggle and .terminal-toggle: Borderless buttons use opacity/scale effects
  • .widget-button and variants (primary/danger/ghost): Consistent tactile effects
  • Added prefers-reduced-motion media query for accessibility

vscode/webview/settings/styles.css

  • Enhanced .settings-link with horizontal slide effect
    • Hover: translateX(2px) with accent color
    • Active: translateX(4px) for press feedback
  • Added prefers-reduced-motion media query for accessibility

tests/test_button_effects.sh (new)

  • 13 test cases verifying all CSS interaction properties
  • Tests for :hover, :active states across all button types
  • Tests for transition timing (120ms) and accessibility support

Test Results

Issue 967 resolved

closes #967

Implemented hover and active state visual feedback for all buttons in the
VSCode extension webviews to create a tactile, responsive feel during user
interactions.

Changes to vscode/webview/plan/styles.css:
- Added transition, hover, and active states to base button selector
  - Hover: translateY(-1px) with enhanced shadow
  - Active: translateY(1px) with reduced shadow
  - 120ms ease-out transitions for smooth performance
- Added interaction effects to .toggle button (borderless, uses opacity/scale)
- Added interaction effects to .terminal-toggle button (borderless, uses opacity/scale)
- Added interaction effects to .widget-button and variants:
  - .widget-button, .widget-button-primary, .widget-button-danger, .widget-button-ghost
- Added @media (prefers-reduced-motion: reduce) media query for accessibility

Changes to vscode/webview/settings/styles.css:
- Enhanced .settings-link with transform transitions
- Added .settings-link:hover with translateX(2px) and color change
- Added .settings-link:active with translateX(4px) for horizontal press effect
- Added @media (prefers-reduced-motion: reduce) media query for accessibility

New file tests/test_button_effects.sh:
- Created comprehensive test suite to verify CSS interaction properties
- Tests for :hover, :active states across all button types
- Tests for transition properties and timing
- Tests for prefers-reduced-motion accessibility support

All tests pass:
- 13/13 new button effects tests pass
- 58/58 existing SDK tests pass in bash
- 58/58 existing SDK tests pass in zsh

Issue 967 resolved
@were were merged commit 1843698 into main Feb 18, 2026
4 checks passed
@were were deleted the issue-967 branch February 18, 2026 19:11
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.

[plan] [#967] VSCode Button Tactile Interaction Effects

1 participant

Comments