microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.86k stars 29.51k forks source link

Status Bar Updates Missing Live Region Indication #227512

Open Bluefish0558 opened 2 months ago

Bluefish0558 commented 2 months ago

Does this issue occur when all extensions are disabled?: Yes/No

Description: Dynamically changing content areas, such as status bar updates, do not indicate live regions, making it difficult for screen reader users to receive important updates.

Steps to Reproduce:

  1. Use VSCode with a screen reader.
  2. that status bar updates are not conveyed to screen reader users as they occur.

User Impact: Screen reader users are unaware of status bar updates, preventing them from receiving real-time information.

Expected Behavior: Dynamically changing content, like status bar updates, should indicate live regions using appropriate ARIA attributes (aria-live, aria-atomic, aria-relevant), so screen readers can announce updates as they happen.

Actual Behavior: No live region is indicated, and screen readers do not announce status bar updates.

Recommendation: Implement live regions by adding appropriate roles (e.g., status, log, alert) or ARIA attributes like aria-live, aria-atomic, and aria-relevant to dynamically changing elements like the status bar.

footer issue
meganrogge commented 2 months ago

I see we actually have aria-live off here. https://github.com/microsoft/vscode/blob/591033da0efa4c671b83a0ad772f820ec06058d3/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts#L713

bpasero commented 2 months ago

@meganrogge disabling aria-live in status bar came from https://github.com/microsoft/vscode/issues/94677#issuecomment-611209822 via https://github.com/microsoft/vscode/commit/d04356f27c9b854ed4204618d43b6bc21d52fc96

This seems to have been an explicit decision and not an oversight.

bpasero commented 2 months ago

This seems pending a discussion if we want to restore this, given we intentionally had removed it. Happy to bring it back if that is the consensus.