microsoft / vscode

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

Remove `auto` as a type for `accessibility.voice.autoSynthesize` #229403

Open meganrogge opened 1 month ago

meganrogge commented 1 month ago

Feedback from screen reader users like @jooyoungseo suggests that we should enable this by default just like we do for sighted users.

meganrogge commented 1 month ago

Marked feature so it gets verified early on.

meganrogge commented 1 month ago

Verify that your setting gets migrated from "on" | "off" | "auto" to the proper boolean value.

By default, this is enabled in insider's and disabled for stable.

If you have it set to on or auto, it should be true. Otherwise, false.

meganrogge commented 1 month ago

The migration part is tricky. the registration happens later than that of other settings because it waits for when the speech provider is recognized. The registerConfiguration call seems to actually be async, as when I insert the migration code after it, it says the setting is unrecognized....

@bpasero any ideas here?

bpasero commented 1 month ago

@meganrogge help me understand: auto is still useful to have a way to forcefully enable this for users with screen readers, or not? If we remove auto, we will forcefully disable this feature for all stable users (because it is not on by default).

I think we can only remove auto if we make the default of this setting true and not just for insiders 🤔

meganrogge commented 1 month ago

Screen reader users have said they want the same behavior as sighted users - so, on by default in insider's.

I think this means we can remove auto, as that just means on by default for non-screen reader users and off by default for screen reader users.

Re insider's vs stable, however that's currently handled would stay the same, I think?

bpasero commented 1 month ago

I see, yes we can do that. I think originally we added auto for screen reader users and I am fine removing it again.

meganrogge commented 1 month ago

I explored doing that and encountered some challenges. Ideas would be appreciated

https://github.com/microsoft/vscode/issues/229403#issuecomment-2368808890

bpasero commented 1 month ago

I am not sure, but we could also just treat auto as either on or off internally and thus soft-deprecate this setting until we remove it.