nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Create a themes API

Open seanbudd opened this issue 7 months ago • 0 comments

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

There are many cases where a user may wish to modify the UX of NVDA i.e. via custom themes.

Common items proposed include:

  • Sound profiles #16695
  • Gestures https://github.com/nvaccess/nvda/issues/18204#issuecomment-2932875161
  • Braille tables #16208
  • Symbol dictionaries #16823
  • Settings profiles including config profiles
  • Fonts #18212

Other potential items:

  • suggested add-ons https://github.com/nvaccess/nvda/issues/14613#issuecomment-2933164663
  • colour palette such as an extension of #16908

Describe the solution you'd like

Create a stable, secure themes API. This should be a type of add-on that just modifies config, not runs any code. Themes should be bundled in a structured manner to include such config files at fixed locations.

The Add-on store should be extended to include filtering for themes, or a new dialog should be created as a "Themes manager". Ideally you should be able to choose which components of a theme to install (e.g. just font and colours, not gestures).

Describe alternatives you've considered

Adding methods to import these things separately, as loose config files.

Additional context

We are currently designing a secure, stable and sandboxed add-on API. this idea is independent of that, but should also be a relatively stable and secure API. My main concern would be updates to settings specs and gesture names breaking previous themes.

seanbudd avatar Jun 04 '25 05:06 seanbudd