AzureStorageExplorer
AzureStorageExplorer copied to clipboard
Handle high contrast themes better when system is in high contrast
When system high contrast is turned on, Storage Explorer colors don't behave very well, even when the app's theme is set to High Contrast -Black or High Contrast - White. More specifically, borders for trees and tables are colored incorrectly.
The reason for this is because when system high contrast is turned on, the OS forces most colors into system colors (defined by the user). This means, no matter how we style certain elements, colors will always be forced to OS configured colors. This happens even if an element is styled with a hex value matching a system color. For example, even if the border color of the tree nodes is set to the correct cyan color, it will still be forced to white.
To better handle this situation, I propose the following:
- When system high contrast is turned on, ignore the app theme setting and use a "special" theme that uses system colors.
- Keep our current high contrast black/white themes as app theme choices for when system high contrast is turned off.
Sounds like a good plan
This issue is actually better solved by using the CSS property force-color-adjust: none
instead. This gives us control of colors even in Windows High Contrast mode. We should still consider having a "System" theme setting that automatically adjusts to the OS's theme settings (see #4635).
Several panels are not styled correctly if the app starts when Windows is already in high contrast mode. This appears to be due to a bug involving the background color for <body>
elements.
See electron/electron#31659
If a workaround for this is needed before an Electron fix is available, we could consider adding a <div>
element that covers the entire <body>
, which is the problematic element.
Still have the problem with high contrast themes and <body>
backgrounds on Electron 19.0.3.