-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[COGNITION]: Links must be announced to screen readers as links. Currently being announced as "messages" or just text #3934
Comments
Technical investigations:
Thoughts:
|
I created a sandbox and tested this in multiple browsers. It seems a browser issue. https://compulim.github.io/experiment-aria-active-descendant/ We are using ARIA active descendant to control how messages are focused. The sandbox mimics the DOM tree of the transcript we use in Web Chat, notably:
When using various screen reader to read the content of the page, we found that:
|
Continue some investigations... it seems the root cause is use about For example: <div aria-labelledby="id-1">
<div id="id-1">
Here is <a href="https://wikipedia.org/">an article</a> to Wikipepdia.
</div>
</div> If the screen reader is reading the label for this element, such as, through The "link" accessible name is not narrated in this case. |
Trying to rationalize how screen reader read rich content. <button type="button>
Click <a href="https://bing.com/">here</a> to read the article.
</button> After press TAB to focus on the button, the screen reader will narrate the whole content as plain text: "Click here to read the article." Instead of "Click, link, here to read the article." Tested on both Edge (Windows Narrator) and Safari (VoiceOver). I am biased to say this bug is by-design of screen reader. But I am yet to find some WAI-ARIA articles talk about how to compute text alternatives, to see if accessible name (a.k.a. It seems screen reader only care about accessible name if the user scan/browse the content using CAPS + arrow keys. |
Things we triedWe tried to remove We tried to add Both did not work because Windows Narrator and NVDA flattened the message and it ignored How Web Chat works with screen readerThere are 3 modes Web Chat will narrate the content of the message:
As message arrive (live region)The plain text version of the message object will be narrated. Using plain text will avoid bugs in browser causing repeated narrations with screen reader. Please see https://github.com/microsoft/BotFramework-WebChat/blob/main/docs/ACCESSIBILITY.md#ux-live-region-transcript. Focus on messageAfter focusing on the message in the transcript using UP/DOWN arrow keys, screen reader will narrate the message object as flattened plain text. Links inside the message will not be narrated as "link" as they are flattened by the WAI-ARIA Accessible Name Computation spec. iOS VoiceOver never flatten messages because end-user cannot use arrow keys to focus on message. This mode does not applies to iOS VoiceOver. Narrate the whole transcriptWhen using screen reader to read the whole transcript, screen reader will narrate all the details of the message object, including the tree structure and widgets inside the message object. WorkaroundsUsing
|
Please view our Technical Support Guide before filing a new issue.
Screenshots
Version
<meta name="botframework-directlinespeech:version" content="4.12.0">
<meta name="botframework-webchat:bundle:variant" content="full-es5">
<meta name="botframework-webchat:bundle:version" content="4.12.0">
<meta name="botframework-webchat:core:version" content="4.12.0">
<meta name="botframework-webchat:ui:version" content="4.12.0">
Describe the bug
As a screen reader user, I need links to be announced as links, not "message" or read out as plain text.
Steps to reproduce
aria-roledescription
attributes that have been applied to various chatbot containers.Expected behavior
aria-roledescription
attributesaria-roledescription="link"
attribute to the link markup (not preferred)Additional context
We do not have control over the aria-rolesecriptions that are applied to the parent elements of each link.
Corresponds to this VA GitHub issue: department-of-veterans-affairs/va.gov-team#25160
[Bug]
The text was updated successfully, but these errors were encountered: