Repository: vscode
Issue: accessibility: Can the high contrast theme be much more high contrast
Labels: bug,themes,accessibility

As a blind user, I'm using high contrast theme in VS code and compared to say, the high contrast theme of Windows there's a lot of things that are simply not "high contrast" at all. Here's a list of things that makes my day-to-day very hard.

#### Selections (not line of code selections)

In Windows high contrast theme when an item is selected, say either in a combobox or a listview, its background gets a solid color which **contrast** with the default background color.

In VS code there's this top and bottom orange-ish lines which are the most confusing and difficult to see. A concrete example:

Doing a CTRL+P to open the fuzzy file search, entering a part of a filename that exists/matches with multiple files.

a) you have those orange-ish lines which are the least visibile thing, very small, very faint, not high contrast AT ALL.
b) you're highlighting a part of the match filename pieces with the same orang-ish color

I have to move the cursor multiple times, it's the only way I can distinguish which file are truly selected, and to be frank I open the wrong file at least 1x out of 5.

Compare to Windows high contrast, if you open say Windows Explorer and select an item in the file list view, you have a solid background color (which would not be your orange-ish trust me) and which contrast immensely with the background and have contrasting color for its font. Usually for darker high contrast, the solid focus color would be light and text white or black depending on the solid color.

This affect the VS code file explorer, which I'm not using, but personally having a 100x more high contrast solid background with very high contrast font would be a life changer in my opinion.

#### Current line edited

Same here, it's the same issue, I'd hope your default high contrast theme would have the same solid color as the selection above.

I understand this might pose problem with syntax highlighting, I'm not sure if you'd have any option here, but personally I'd prefer having a solid background than those 2 tiny lines.

#### Matching braces

That one I changed via settings, because your default of simply boxing the brace { with I think gray-ish border is not at all what I'd call high contrast.

Here's what I'm using, I wanted a solid color for my brace matching:

```json
"workbench.colorCustomizations": {
    "editorBracketMatch.background": "#ff0000",
    "editor.wordHighlightBackground": "#ff0000",
    "editorIndentGuide.activeBackground": "#999999",
    "editorIndentGuide.background": "#666666"
  },
```

Issue with that is in HTML file, matching an element keep the "green-ish" element (keyword) color. But at least it's high contrast.

#### Indentation guide colors

If you notice in the settings I have above, the default indentation colors are just "taking over" the code being edited. I think they're white by default, I mean, it's not at all helping in any way, makes the code very hard to read.

I have them as a light gray, in my case they're not very helpful to be frank.

#### Line / part of code in error

When there's an error, there's an underline (yet again this orang-ish) fights with the current line's bottom orange border. It's just extremely hard to see where exactly you are.

If I can have a suggestion. You're using this orange-ish color too much.

To me, high contrast means the following:

- Dark or light background, very bright text opposing the choice of background.
- One "main" color for **important** things that I should focus on.
- Other important texts or visuals should use a different color than the "main / focus" one, but should still be high contrast against the background and the normal text.

#### Function prototype tooltips

There's not enough contrast with the function arguments tooltip.

This is something that should stand out a lot more, and the current argument should not use your orange-ish / main color, but something else.

I'm having a super hard time distinguishing a normal line vs those function tooltips.

I'd prefer to have them stand out, again with a solid light background color and black text and have the current argument being a contrasting color vs the solid bg color chosen. That would be 100x more easier than trying to discriminate what's a normal line vs. the popup, in my humble opinion.

#### I'd choose functional vs. beautiful any day

I believe people choosing high contrast theme don't care at all about having an aesthetically stunning theme. Having solid background color with contrasting font color is way more exciting for us to be honest. 16 bits colors were great haha ;).

Joke aside, there could be 2 main "visuals" the main / focus / need attention one and a secondary one, again, solid background and very high contrast text.

High contrast should not focus on nuances (your top and bottom orange lines are nuances). You should be focusing on making it just crazy contrasting, that's what we're after, it should stand out a lot.

Guide line for your designers, if they find it enough contrasting, do it 5x more, than you'll reach what we're expecting.


#### One example you got very much right

Code selection. Having the white background and black text, this is high contrast.

I'm reverting to select the entire line often to find where my editing cursor is.

Improving those things would be a life changer for me. Thanks for considering revisiting the high contrast theme.

I asked about this in the Gitter Microsoft/vscode-ally and @isidorn wanted to be pinged.

p.s. if you need to test anything, color combinations, style, whatever, I'd be happy to provide any feedback.