microsoft / microsoft/BotFramework-WebChat

"Keyboard controls": Invisible elements should not receive focus or be visible to screen reader users.

Open
#4,982 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

area-accessibility Bot Services bug customer-reported
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?

Motor / Dexterity, Visual

What browsers and screen readers do this issue affect?

No response

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

No, I am using Web Chat without any customizations except "styleOptions".

What version of Web Chat are you using?

Latest production

Which area does this issue affect?

Keyboard focus indicator

What is the public URL for the website?

https://edfinancial.com

How to reproduce the issue?

This is feedback from the accessibility company Allyant who has been testing our website and has people who use screenreaders and other assistive technologies as a part of their testing team.

When closing the Keyboard Help, it closes visibly, but it is achieving this by using "height: 0" instead of "display: none" so it can still receive focus. As shown in the screenshot, when closed, the button is still actually present in the UI, it's just visually hidden.
screenshot-of-keyboard-controls-heading-region

What do you expect?

After closing the Keyboard Help, ensure the content remains hidden after the user chooses to close it.
screenshot-of-keyboard-controls-heading-region_description_solution

What actually happened?

See other responses.

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

No response

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

CSS: .webchat--css-plmqt-at18kd.webchat__keyboard-help:not(.webchat__keyboard-help--shown)

MAS reference

No response

WCAG reference

https://www.w3.org/WAI/WCAG22/Understanding/name-role-value

WAI-ARIA reference

No response

Adaptive Card JSON

No response

Additional context

No response

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 the reported CSS selector .webchat__keyboard-help:not(.webchat__keyboard-help--shown) and trace how the Keyboard Help close action hides its content. Confirm that closed content is not focusable or exposed to screen readers, then verify the behavior against the reported website and accessibility scenario.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.