Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Windows 10/11 Dark Mode #16683

Open
SaschaCowley opened this issue Jun 12, 2024 · 4 comments
Open

Support Windows 10/11 Dark Mode #16683

SaschaCowley opened this issue Jun 12, 2024 · 4 comments
Labels
audience/low-vision PR or issue is relevant to sighted or low vision users p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.

Comments

@SaschaCowley
Copy link
Member

Is your feature request related to a problem? Please describe.

Windows 10 introduced a system dark mode, which adjusts most of the operating system (and compatible applications) to be displayed with light text on a dark background. This is a valuable accessibility tool for low vision users, many of whom experience photophobia or difficulty focusing on dark text on a bright background. However, NVDA's GUI currently remains in light mode even when the system-wide dark mode is enabled in Windows 10 and Windows 11.

Describe the solution you'd like

I propose adding native dark mode support to NVDA. When dark mode is enabled in the operating system, NVDA should adapt its interface accordingly. This change would enhance the user experience and align with accessibility best practices.
The option to override this, and have NVDA display in light or dark mode regardless of the operating system setting, would be a further possible enhancement.

Describe alternatives you've considered

As an alternative to dark mode, users can use Windows High Contrast Mode, but this has a number of downsides, some of which may make the system less accessible to partially sighted users.

Additional context

Win32 UI doesn't support dark mode out of the box, so work would be needed to implement detecting dark mode and changing the colour set in WXPython. We know it's doable, however, as programs like File Explorer and Notepad++ have done it.

@seanbudd seanbudd added p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority audience/low-vision PR or issue is relevant to sighted or low vision users triaged Has been triaged, issue is waiting for implementation. labels Jun 18, 2024
@bzkmsjy
Copy link

bzkmsjy commented Jun 26, 2024

I also hope NVDA can adapt to Windows' dark theme UI. I am a cataract patient, and I cannot read light-colored interfaces, but I can read dark-colored ones. I use NVDA to assist me in reading the screen, reducing my need for glasses. Although Windows offers a high-contrast theme, some light-colored elements in the high-contrast theme make me very uncomfortable, such as the light highlight of the current browser tab and the pure white highlight of the mouse pointer. The dark theme UI is superior to the high-contrast theme in every aspect.

@seanbudd seanbudd added p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority and removed p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority labels Jun 26, 2024
@seanbudd
Copy link
Member

reprioritizing as this is something that prevents a subset of users from using NVDA

@thienautran
Copy link

I would like to start working on this as a first time contributor to the project.

At the moment, there doesn't appear to be any support for handling colour themes and colours are currently hard coded in. What would the best way of enabling a modular theming system? Obviously hard coding values inside the current implementation is not ideal.

My second question is what aspects of the ui does this issue target. We have both the context menus and the main settings and add on store UIs, does the python interpreter console need to be included? Are there ui components that I'm missing?

@josephsl
Copy link
Collaborator

josephsl commented Jun 30, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audience/low-vision PR or issue is relevant to sighted or low vision users p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

No branches or pull requests

5 participants