Bug: New migration wizard is too chatty through screenreaders when doing state changes
Status: RESOLVED
Priority: --
Resolution: FIXED
Created: 2023-04-13 21:24:08+00:00
Resolved: 2023-04-14 09:13:53+00:00

From [nlapre's accessibility review document](https://docs.google.com/document/d/12kvANZCfyl_xOCl8fzYghTTPl_IuekmJaUMd_mvrNCk/edit#):

> 
> -   After opening the dialog, NVDA will read the entire contents of the
>     dialog before throwing focus to the button.
> 
>     -   For instance, upon pressing "Enter" on the "Import Data" button,
>         > NVDA reads:
> 
>         -    Import Browser Data Microsoft Internet Explorer Select the
>             data you'd like to import. Favorites Favorites Saved logins
>             and passwords Saved logins and passwords Browsing history
>             Browsing historyImport Cancel dialog Select the data you'd
>             like to import.
> 
> Microsoft Internet Explorer button
> 
> dialog Select the data you'd like to import.
> 
> buttonMicrosoft Internet Explorer
> 
> -   -   I think the first bit of this readout, where NVDA reads the
>         > contents of the dialog (that is, up until "Select the data
>         > you'd like to import") is because of the aria-live=polite on
>         > the "\#wizard-deck" element. Removing that fixes the problem.
>         > I don't think we need that aria-live.
> 
>     -   The rest of the readout, from "Select the data you'd like to
>         > import" to the end, seems like overkill, too. I wonder if this
>         > has to do with focus being thrown around.
> 
>         -   It looks like focus, on pressing "Import Data," goes to the
>             settings document, then "\#browser-profile-selector", then
>             ".migrator-description"? I think this might explain the
>             redundant readouts.
> 
> -   Another issue solved by removing aria-live:
> 
>     -   It's possible to get NVDA to read out the next part of the
>         > dialog immediately after choosing a different browser from
>         > which to import data. For instance, after selecting Edge, I
>         > can get NVDA to read:
> 
>         -   PROFILE 1
> 
> Favorites Favorites
> 
> Browsing history Browsing history
> 
> Microsoft Edge
> 
> Microsoft Edge PROFILE 1
> 
> Favorites
> 
> Favorites
> 
> Microsoft Edge PROFILE 1 button collapsed
> 
> -   -   Removing aria-live=polite makes this problem disappear.
> 
> -   Screen reader readout is very noisy after clicking "Import,"
>     especially when there are multiple things to import.
> 
>     -   For instance, I can get NVDA to read this to me after pressing
>         > "Import":
> 
>         -   Data Imported Successfully Completed Favorites 5 favorites
>             Completed Saved logins and passwords 0 passwords Completed
>             Browsing history From the last 180 days Cancel
> 
> Importing Data
> 
> Importing...
> 
> Importing...
> 
> Importing...
> 
> Importing Data
> 
> out of grouping dialog
> 
> 0 passwords
> 
> Importing...
> 
> Importing...
> 
> Importing...
> 
> Done
> 
> 5 favorites
> 
> From the last 180 days
> 
> Data Imported Successfully
> 
> Completed
> 
> Completed
> 
> Completed
> 
> Data Imported Successfully
> 
> dialog Favorites
> 
> 5 favorites
> 
> Saved logins and passwords
> 
> 0 passwords
> 
> Browsing history
> 
> From the last 180 days
> 
> headingImport Browser Data
> 
> Done button
> 
> -   -   This strikes me as a bit too much. Removing aria-live=polite
>         > removes all of the "Importing..." information. I think I
>         > remember seeing something in the design requirements about
>         > wanting to communicate the import state to screen readers. I
>         > think it would be best if we could trim this down.
> 
> []{#anchor-5}"Import All" Testing
> 
> -   Only thing to report on this version of the dialog: It suffers from
>     similarly noisy aria-live-influenced output when checking and
>     unchecking boxes, in a way that import-all.enabled: false does not.