SAP / ui5-webcomponents

UI5 Web Components - the enterprise-flavored sugar on top of native APIs! Build SAP Fiori user interfaces with the technology of your choice.
https://sap.github.io/ui5-webcomponents/
Apache License 2.0
1.56k stars 267 forks source link

ui5-busyindicator: Loading Icon Not Announced by Screen Reader #3591

Closed GongRichard closed 3 years ago

GongRichard commented 3 years ago

Bug Description

When the busy indicator is showing, the screen reader won't read out busy text.

Expected Behavior

When the busy indicator is showing, the screen reader should read out busy text.

Steps to Reproduce

  1. Open JAWS or NVDA
  2. Go to 'https://sap.github.io/ui5-webcomponents/playground/components/BusyIndicator/'
  3. Click 'Fetch List Data' button
  4. JAWS or NVDA won't read out busy text

Context

Log Output / Stack Trace / Screenshots

2021-08-04_17-19-08

Priority

Stakeholder Info (if applicable)

elenastoyanovaa commented 3 years ago

Hello @SAP/ui5-webcomponents-topic-rd ,

When a busy indicator is added dinamically (busy state of an component/control), nothing is read out. Since the same is also reproducible for the UI5 Busy Indicator https://sapui5.hana.ondemand.com/#/entity/sap.ui.core.Control/sample/sap.ui.core.sample.ControlBusyIndicator perhaps a change in the specification and handling of busy controls should be discussed with ACC experts and handled. Not sure if this should be handled as an issue or a feature request. There is also a BLI in UI5 maybe related to this, please check the wiki of the busy indicator control and process further.

Kind Regards, Elena

georgimkv commented 3 years ago

Hi @GongRichard

Can you let me know the steps (where you are exactly on the page/which element you have focused) that you took to reproduce this issue?

The ui5-busy-indicator will not announce that it is loading if it is contained in a different region of the page. To users of screen readers, it doesn't make sense to announce that a busy indicator situatied in another region of the page is loading, while they are focused on a completely different region of the page.

Regards, Georgi

georgimkv commented 3 years ago

Related to Alexandar's comment on #3186

GongRichard commented 3 years ago

Hi @gmkv ,

Repro steps:

  1. Go to https://github.wdf.sap.corp/pages/xweb/goalmanagementx/app.html?mock&noFirstTimeGuidance&delay=1000
  2. Click 'Cascade Goal' button in the top-right header
  3. Dialog will be opened and you will see the busy indicator

Thanks, Richard

GongRichard commented 3 years ago

Hi @gmkv ,

Would you please give this issue more high priority as SF is close to the code complete date which is Sep 19th?

Thanks, Richard

georgimkv commented 3 years ago

Hi @GongRichard

We discussed the SR announcement with our accessibility experts for the ui5-busy-indicator, and their recommendation is that it will not be desirable for the change in the "busy" state to be announced. Consider the case where there are multiple busy indicators on a page that become busy at the same time. This would result in each busy indicator being announced immediately one after the other, which will be less helpful than useful to a user with a screen reader.

From this issue, we also discovered a bug which doesn't allow the busy-indicator to be focused - we will fix this.

For your application, our advice is to open your dialog with the initial focus set on the table (which internally has a busy indicator). After it loads, you will continue as usual, by setting the focus to be on the "Select All" checkbox as it is currently implemented.

I will let you know when we have an update for this.

Regards, Georgi

georgimkv commented 3 years ago

I will close this issue as consulation, because there is not a real bug with it. I have opened a seperate issue #3922 for us to handle the bug I described above. Follow the advice I wrote to address the a11y concern in your application.