nvda
4df1ded2 - Report busy indicator (PR #13428)

Commit
4 years ago
Report busy indicator (PR #13428) Fixes #10644 Summary: On the web, widgets with `role="progressbar"` and no `aria-valuenow` were reported by NVDA as "progress bar half checked zero". These widgets are exposed by the browser with: - IAccessible accRole `ROLE_SYSTEM_PROGRESSBAR` - IAccessible accState `STATE_SYSTEM_MIXED, STATE_SYSTEM_INDETERMINATE`. In chrome accValue is always "0" in this case. Note, in firefox, if `aria-valuetext` is provided, `STATE_SYSTEM_INDETERMINATE` is not set and `accValue` has the `aria-valuetext`. Changes: An 'indeterminate' progress bar has no value attribute, it can not convey progress, only activity. Rather than reporting as a progress bar it is given a new NVDA role of "busy indicator" and its value ("zero") is no longer reported. Technical details. - Code to convert decode the bit flags (integer) supplied by IA / IA2 into a set of NVDA States was repeated, this has been extracted to a function, centralized in IAccessibleHandler, and optimized. - accValue was used as the text node in the virtual buffer, now for this case , " " (space) is used.
Author
Parents
Loading