Skip to content

Comments

Add accessibility.chat.showCheckmarks setting#297133

Merged
justschen merged 8 commits intomainfrom
daviddossett/accessibility-chat-show-checkmarks
Feb 24, 2026
Merged

Add accessibility.chat.showCheckmarks setting#297133
justschen merged 8 commits intomainfrom
daviddossett/accessibility-chat-show-checkmarks

Conversation

@daviddossett
Copy link
Collaborator

@daviddossett daviddossett commented Feb 23, 2026

Add a boolean accessibility setting accessibility.chat.showCheckmarks that restores the checkmark icons removed in #296621 on completed tool calls and other collapsible items in chat responses.

Fixes #297114

Behavior

The setting is reactive — toggling it immediately updates all existing chat parts without needing a window reload.

CleanShot.2026-02-23.at.15.12.51.mp4

Implementation

  • New AccessibilityWorkbenchSettingId.ShowChatCheckmarks enum value and setting registration in accessibilityConfiguration.ts
  • ChatCollapsibleContentPart base class creates an observableConfigValue for the setting and toggles a .show-checkmarks CSS class on the container
  • ChatCollapsibleInputOutputContentPart does the same via its own autorun
  • CSS rules in chat.css, chatConfirmationWidget.css, and chatThinkingContent.css hide the leading icon by default and show it when .show-checkmarks is present
  • Error/warning icons are always visible regardless of the setting
  • All 5 subclasses (ChatCollapsibleMarkdownContentPart, ChatCollapsibleListContentPart, ChatThinkingContentPart, ChatSubagentContentPart, ChatHookContentPart) forward IConfigurationService to the base class
  • Updated chatSubagentContentPart.test.ts to configure the setting for the icon assertion test

Add a boolean accessibility setting that restores the checkmark icons on
completed tool calls and other collapsible items in chat responses.

The setting defaults to false (checkmarks hidden). When enabled, checkmark
and loading icons are shown as the leading icon on collapsible content
parts, tool input/output parts, and inside thinking/subagent boxes.

The setting is reactive - toggling it immediately updates all existing
chat parts without needing a reload.

CSS-based visibility control via a .show-checkmarks class ensures icons
set by subclass autoruns (ChatThinkingContentPart, ChatSubagentContentPart)
are properly shown/hidden without needing to intercept their icon
assignments.
Copilot AI review requested due to automatic review settings February 23, 2026 23:10
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds an accessibility setting accessibility.chat.showCheckmarks that allows users to restore checkmark icons on completed tool calls and other collapsible items in chat responses. These icons were previously removed in PR #296621.

Changes:

  • Added a new accessibility setting with default value false to maintain current behavior
  • Implemented reactive icon visibility toggling using observables - no reload required
  • Updated CSS rules across multiple files to conditionally show/hide icons based on the setting
  • All collapsible content part subclasses now accept and forward IConfigurationService for setting access

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts Added ShowChatCheckmarks enum value and setting registration with default false
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.ts Base class creates observable for setting, toggles show-checkmarks CSS class, accepts IConfigurationService parameter
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.ts Implements similar observable and class toggle logic for tool input/output parts
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts Forwards IConfigurationService to base class
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.ts Forwards IConfigurationService to base class
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.ts Both ChatCollapsibleListContentPart and ChatUsedReferencesListContentPart forward IConfigurationService
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.ts Forwards IConfigurationService to base class
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.ts Forwards IConfigurationService to base class
src/vs/workbench/contrib/chat/browser/widget/media/chat.css Added CSS rules to hide leading icons by default and show them with .show-checkmarks class, restores gap and margin when checkmarks are shown
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css Added CSS rules for showing icons in thinking content when .show-checkmarks is present
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css Added CSS rules for hiding/showing icons in confirmation widgets based on setting
src/vs/workbench/contrib/chat/test/browser/widget/chatContentParts/chatSubagentContentPart.test.ts Updated test to enable showCheckmarks setting before asserting icon visibility

- Remove unused Codicon import from chatCollapsibleContentPart.ts
- Add @IConfigurationService to ChatTerminalThinkingCollapsibleWrapper
- Remove dead check element and its hover setup from chatToolInputOutputContentPart.ts (PR feedback)
- Remove unused HoverStyle import
@daviddossett daviddossett marked this pull request as ready for review February 23, 2026 23:24
@vs-code-engineering vs-code-engineering bot added this to the February 2026 milestone Feb 23, 2026
dmitrivMS
dmitrivMS previously approved these changes Feb 23, 2026
… parts

- Set this.icon = Codicon.check on ChatCollapsibleListContentPart (references)
- Set this.icon = Codicon.check on ChatTerminalThinkingCollapsibleWrapper when
  complete, and in markComplete()
- Add .show-checkmarks CSS override for .progress-container check icons in
  chat.css and chatThinkingContent.css
dmitrivMS
dmitrivMS previously approved these changes Feb 23, 2026
- Toggle .show-checkmarks on the progress container for non-wrapper terminal
  tool parts via config change listener
- Add .progress-container.show-checkmarks CSS selector for when the class
  is directly on the progress container element
daviddossett and others added 3 commits February 23, 2026 16:08
Toggle .show-checkmarks on ChatToolProgressSubPart domNode so the check
icon is visible on completed tool progress messages like 'Read file.ts'
or 'Edited file.ts'.
Toggle .show-checkmarks on the code block pill container element so the
check icon is visible next to 'Edited file.ts' status labels. Add CSS
overrides in chatCodeBlockPill.css and chatThinkingContent.css.
@justschen justschen marked this pull request as ready for review February 24, 2026 01:30
@justschen justschen enabled auto-merge (squash) February 24, 2026 01:49
@justschen justschen merged commit cd524e0 into main Feb 24, 2026
20 checks passed
@justschen justschen deleted the daviddossett/accessibility-chat-show-checkmarks branch February 24, 2026 02:17
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.

Provide way to bring back ✔️ in chat response list

4 participants