Windows accessibility: NVDA encounters unnamed or silent controls
- Dominant language
- Rust
- Stars
- 21k
- Forks
- 675
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 172
Description
### Pre-flight checklist
- [x] I searched [existing issues](https://github.com/AprilNEA/OpenLogi/issues?q=is%3Aissue) and this is not a duplicate.
- [x] I am on the [latest release](https://github.com/AprilNEA/OpenLogi/releases/latest) or a recent `master` build.
- [x] I quit **Logi Options+** before running OpenLogi (the two apps fight over HID++ access and only one can own a receiver at a time).
### Which part of OpenLogi?
GUI (desktop app)
### OpenLogi version
0.8.3
### Operating system
windows
### OS version & architecture
Windows 11 PRO 25H2 AMD 64
### Device model
MX Mechanical
### How is the device connected?
Logi Bolt receiver
### Affected area(s)
- [ ] Device discovery / detection
- [ ] Button remapping
- [ ] DPI control
- [ ] SmartShift
- [ ] Per-application profiles
- [ ] Battery status
- [ ] Settings / configuration (TOML)
- [ ] Auto-update
- [ ] Menu bar / tray
- [ ] Other
### What happened?
## Description
On Windows, many OpenLogi controls do not expose accessible names or proper
keyboard semantics. When navigating device settings with NVDA, Tab and
Shift+Tab can produce complete silence. NVDA object navigation often announces
only generic roles such as "button", "switch", or "slider" without explaining
what the control does.
### Steps to reproduce
1. Start NVDA on Windows.
2. Open OpenLogi.
3. Open the application settings or the settings for a connected keyboard.
4. Navigate through the interface using Tab and Shift+Tab.
5. Inspect the same controls using NVDA object navigation.
## Actual behavior
Some controls are silent. Others expose only a generic control role without an
accessible name. Several pointer-operated controls cannot be understood or
operated reliably from the keyboard.
## Expected behavior
Every interactive control should:
- be reachable using the keyboard;
- expose a meaningful accessible name and role;
- expose its current state or value where applicable;
- support the expected keyboard actions;
- preserve the application's existing visual design.
### Diagnostics report
```markdown
```
### `openlogi list` output
```text
```
### Logs
```shell
```
### macOS permissions (if applicable)
Not applicable — this report concerns Windows.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the issue in OpenLogi on Windows with NVDA, using Tab, Shift+Tab, and object navigation through application and connected-keyboard settings. The issue names no source files or tests; done means interactive controls are keyboard reachable, expose meaningful names, roles, states or values, and support expected keyboard actions without changing the visual design.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- accessibility, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100