Features Overview
ControlNav provides powerful features for navigating Windows applications efficiently with a screen reader.
Core Features
Control Listing
Instantly view all controls in any Windows application:
- Buttons, checkboxes, radio buttons
- Text fields, combo boxes, list items
- Links, tabs, tree items
- All UI Automation-supported controls
Press Ctrl+Alt+L from any application to see the complete list.
Real-Time Search
Filter controls as you type:
- Case-insensitive search
- Partial word matching
- Instant results
- Automatic selection of first match
Arrow Key Navigation
Navigate while typing:
- Up/Down arrows work in the search box
- No need to tab to the list
- Selection changes are announced by screen readers
- Text cursor stays in place
Three Interaction Modes
Choose how to interact with controls:
- Click - Invokes the control (default for buttons)
- Double Click - Toggles or activates (for checkboxes, list items)
- Focus - Brings keyboard focus to the control (for edit boxes)
Set your preferred default action in Settings.
Lazy Loading
Responsive UI even with large applications:
- Controls are enumerated in a background thread
- The window appears immediately while controls load progressively
- Status bar shows loading progress
- You can start typing to filter even before all controls are loaded
- Works smoothly with applications that have 1000+ controls
System Tray Integration
Runs in the background:
- Minimal system resources
- Always available via shortcut
- Context menu for quick access
- Settings, About, and Exit options
Dark Mode
Automatically follows your Windows theme:
- Detects Windows dark/light mode setting
- Applies dark styling to all windows and controls
- Dark mode for control list, settings, welcome, and about windows
- No configuration needed - just works
Multilingual Support
Available in 8 languages:
- English (US)
- Deutsch (German)
- Español (Spanish)
- Français (French)
- 日本語 (Japanese)
- Português (Portuguese)
- Italiano (Italian)
- Nederlands (Dutch)
Change language in Settings - takes effect immediately.
Screen Reader Support
Fully accessible:
- Native Windows UIA support
- JAWS compatible
- NVDA compatible
- Windows Narrator compatible
- All controls properly labeled
- Selection changes announced automatically
Persistent Settings
Your preferences are saved:
- Default action (Click/Double Click/Focus)
- Auto-start with Windows
- Language preference
- Shortcut configuration
- Stored in Windows Registry (persists across restarts)
Privacy & Security
Respects your privacy:
- No data collection
- No internet access required
- No telemetry or analytics
- All settings stored locally in Windows Registry
Performance
Lightweight and fast:
- ~60 KB executable size
- Minimal memory footprint
- No background scanning
- Only activates when you press the shortcut
- Background thread enumeration for responsive UI
Application Compatibility
ControlNav works with any Windows application that supports Microsoft UI Automation. It has been tested with 10 different UI frameworks:
Fully Supported
| Framework | Notes |
|---|---|
| WPF | Native UIA support - best compatibility |
| WinForms | Native Win32 controls with built-in UIA |
| Win32 | Direct Win32 API support |
| WinUI 3 | Full native UIA support |
| .NET MAUI | Renders via WinUI 3 on Windows |
| Electron | Chromium accessibility provider |
| Qt / PySide | Native UIA provider (since Qt 5.11) |
| wxPython | HWND fallback for broken UIA trees |
Partially Supported
| Framework | Requirements |
|---|---|
| Java Swing | Requires Java Access Bridge (JAB) to be enabled |
| GTK | Requires ATK-to-UIA bridge |
Known Limitations
| Framework | Issue |
|---|---|
| Tkinter | No native Windows accessibility support |
How Compatibility Works
ControlNav uses two strategies to discover controls:
UI Automation Tree Walker (primary) - Walks the standard UIA tree exposed by the application. Works with all frameworks that implement UIA providers (WPF, WinForms, Qt, Electron, WinUI 3, etc.).
HWND Fallback (secondary) - When the UIA tree is broken or empty, ControlNav falls back to enumerating child windows via
EnumChildWindowsand retrieving UIA elements per window handle. This fixes compatibility with wxPython and similar frameworks.
Common Applications
ControlNav works well with:
- Web browsers (Chrome, Edge, Firefox) - discovers web page controls
- Microsoft Office - ribbon buttons, form controls, windows
- Windows Settings - all modern Windows UI
- NVDA Preferences - via HWND fallback (wxPython app)
- File Explorer - file lists, navigation, toolbar buttons
Next Steps
- Settings Reference - Configure ControlNav
- Keyboard Shortcuts - Master the shortcuts
- Accessibility Features - Learn about screen reader support