microsoft / microsoft/BotFramework-WebChat

{Linked:Bug34037190}[Accessibility] Message action buttons announce the entire bot response

Open
#5,849 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A11ySev2 A11yWCAG Accessibility BotFrameworkWebChat_Web HCL HCL-BIC
Dominant language
HTML
Stars
1.8k
Forks
1.6k
Avg merge
22h 58m
Merged PRs (30d)
2

Description

Is it an issue related to Adaptive Cards?

No.

What is the PWD impact?

Screen reader users hear the entire bot response again when focus moves to a message action such as Copy, Like, or Dislike. This makes it difficult to identify the focused control and creates confusing, repetitive narration for long responses.

What browsers and screen readers do this issue affect?

Windows: Edge with Windows Narrator

Are there any code-based customization done to Web Chat?

Yes, however, this also repros on the Web Chat-native Copy action without a custom action renderer. The host adds message metadata (AllowCopy and LikeAction/DislikeAction potential actions), while Web Chat renders the toolbar, buttons, and their accessible names.

What version of Web Chat are you using?

Development build: 4.18.1-main.20260204.e78ed2d

Which area does this issue affect?

ARIA roles; Others or unrelated

What is the public URL for the website?

No public URL is available.

How to reproduce the issue?
  1. Render BasicWebChat under FluentThemeProvider.
  2. Enable the Web Chat-native Copy action for a bot response, or provide LikeAction and DislikeAction entries in potentialAction.
  3. Send or display a bot response containing multiple sentences.
  4. Start Windows Narrator.
  5. Press TAB until focus moves to Copy, Like, or Dislike beneath the response.
  6. Observe the accessible name announced for the focused button.
What do you expect?

Narrator should announce only the concise name and state of the focused action, such as "Copy button", "Like button", or "Dislike button".

What actually happened?

Narrator announces the entire bot response together with the focused action. The same behavior occurs on the Web Chat-native Copy button, indicating that the action-toolbar button is deriving its accessible name from the surrounding message content.

Do you have any screenshots or recordings to repro the issue?

No public recording is currently available.

Did you find any DOM elements that might have caused the issue?

The issue appears to originate in Web Chat's message action-toolbar rendering. The action buttons are nested within the bot response article, and their computed accessible names include the response text.

MAS reference

MAS 1.3.1 - Info and Relationships

WCAG reference

https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships

WAI-ARIA reference

https://www.w3.org/TR/accname-1.2/

Adaptive Card JSON

Additional context

The host application does not render these buttons or assign their accessible names. It only supplies action metadata. A host-side aria-label on the surrounding Web Chat article did not resolve the button announcement because it does not control accessible-name computation inside the Web Chat toolbar.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with BasicWebChat under FluentThemeProvider and reproduce the issue using the native Copy action, then inspect the message action-toolbar rendering and the buttons' computed accessible names. Done means Copy, Like, and Dislike announce only their concise action name and state, without repeating the surrounding bot response.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
accessibility, frontend, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.