Change:
Users in the fable study weren't sure if the question was asking them something (given it's a chat experience) or if it was actionable. Could we use a better icon to indicate this? Should we add static text: ? We should also add to the aria label.
Is this just something where you might not be sure what it is, then you click it, and you instantly find out, and then it's no longer a question? That's how UX has to work sometimes. Not opposed to an aria label. Sounds like it's about screenreader and also sighted users though (since you mentioned an icon) If we changed the icon, something with the "submit" button might help? Or putting the question in quotes?
The copilot sparkle icon is redundant IMO, since this question exists within the copilot chat panel. Yes, a submit / run icon would be better I think to indicate what will happen. The current styling makes it look like a link, so a user might think clicking on that could do any number of things.
!
I don't really like that one, sorry, I don't think "run" is the right meaning
I don't love it either. Other ideas?
Maybe submit? But otherwise I think "sparkle" makes sense for "send this to the magic AI"
We're within the copilot chat panel already - so not sure the sparkle is necessary.
It's just blue text that does something very different than all the other blue text, so I think it needs something to differentiate it, and I think the sparkle works as well as anything
It differentiates it but doesn't give any indication of what will happen. That's what users have reported.
Well I don't have any other ideas
any ideas for a better icon here?
I think we can mention follow ups in the accessibility help dialog.
To verify: in the chat input box, and make sure you it contains "In the input box, navigate to the suggested follow up question (Shift+Tab) and press Enter to run it." with a screen reader on, focus the input box. to the suggested question and verify that the aria label indicates it's a suggested question.

Discussion:
content.push(localize('chat.overview', 'The chat view is comprised of an input box and a request/response list. The input box is used to make requests and the list is used to display responses.')); content.push(localize('chat.requestHistory', 'In the input box, use up and down arrows to navigate your request history. Edit input and use enter or the submit button to run a new request.')); content.push(openAccessibleViewKeybinding ? localize('chat.inspectResponse', 'In the input box, inspect the last response in the accessible view via {0}', openAccessibleViewKeybinding) : localize('chat.inspectResponseNoKb', 'With the input box focused, inspect the last response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding.')); <ins> content.push(localize('chat.followUp', 'In the input box, navigate to the suggested follow up question (Shift+Tab) and press Enter to run it.')); </ins> content.push(localize('chat.announcement', 'Chat responses will be announced as they come in. A response will indicate the number of code blocks, if any, and then the rest of the response.')); content.push(descriptionForCommand('chat.action.focus', localize('workbench.action.chat.focus', 'To focus the chat request/response list, which can be navigated with up and down arrows, invoke the Focus Chat command ({0}).',), localize('workbench.action.chat.focusNoKb', 'To focus the chat request/response list, which can be navigated with up and down arrows, invoke The Focus Chat List command, which is currently not triggerable by a keybinding.'), keybindingService)); content.push(descriptionForCommand('workbench.action.chat.focusInput', localize('workbench.action.chat.focusInput', 'To focus the input box for chat requests, invoke the Focus Chat Input command ({0})'), localize('workbench.action.interactiveSession.focusInputNoKb', 'To focus the input box for chat requests, invoke the Focus Chat Input command, which is currently not triggerable by a keybinding.'), keybindingService));

import { Button, IButtonStyles } from 'vs/base/browser/ui/button/button'; import { MarkdownString } from 'vs/base/common/htmlContent'; import { Disposable } from 'vs/base/common/lifecycle'; <ins> import { localize } from 'vs/nls'; </ins> import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IChatFollowup } from 'vs/workbench/contrib/chat/common/chatService';

} else if (followup.kind === 'command') { button.element.classList.add('interactive-followup-command'); } <ins> button.element.ariaLabel = localize('followUpAriaLabel', "Follow up question: {0}", followup.title); </ins> const label = followup.kind === 'reply' ? '$(sparkle) ' + (followup.title || followup.message) : followup.title;