Page Reporter
Version 3.1.0 — by Rosendo Barde Hubilla Jr. and Joseph Bautista
Page Reporter automatically announces a summary of page elements every time a web page finishes loading in browse mode. Instead of manually navigating around to find out what is on the page, NVDA will tell you right away.
Example announcement:
Page loaded. Page has 3 headings, 47 links, 7 form fields, and 4 landmarks.
In brief report mode, Page Reporter speaks only the element summary:
3 headings, 47 links, 7 form fields, and 4 landmarks.
It also works on single-page applications like Facebook, YouTube, Twitter/X, and Reddit — every time you navigate to a new section and the URL changes, Page Reporter will announce the updated element summary automatically.
Keyboard Shortcuts
- NVDA+Shift+W
- Cycle Page Reporter between full report, brief report, and off.
- NVDA+Shift+R
- Manually trigger a fresh recount of page elements at any time. Useful on pages that load content slowly or dynamically.
Settings
To open Page Reporter settings, go to NVDA menu, then Preferences, then Settings, then choose Page Reporter from the category list.
Enable Page Reporter
This is the master on/off switch for the addon. You can also cycle between full report, brief report, and off using NVDA+Shift+W at any time.
Announcement mode
Full report says the page-loaded phrase and the element summary. Brief report says only the element summary.
Interrupt speech before Page Reporter announcements
When this option is enabled, Page Reporter stops current NVDA speech before announcing. When it is disabled, Page Reporter does not interrupt speech that is already in progress.
Report these elements
You can choose which types of elements get included in the announcement. Each one can be turned on or off independently.
- Headings — counts heading elements (H1 through H6) on the page.
- Links — counts all clickable links.
- Form fields and buttons — counts text inputs, checkboxes, radio buttons, combo boxes, spin buttons, and all button types. Buttons are now grouped together with form fields for a cleaner summary.
- Landmarks — counts ARIA landmark regions such as navigation, main, banner, and search areas.
If none of the enabled element types are found on the page, full report mode says "Page loaded." with no counts. Brief report mode says "No elements found."
Disabled sites
If you want Page Reporter to stay silent on certain websites, enter their domain names here, one per line. For example, entering youtube.com will silence Page Reporter on all YouTube pages including subdomains like music.youtube.com.
You do not need to include www. — just the base domain is enough.
All settings are saved automatically when you press OK in the NVDA Settings dialog.
Supported Browsers
Page Reporter works in any browser that NVDA supports in browse mode, including Google Chrome, Mozilla Firefox, Microsoft Edge, and Brave.
Known Limitations
- Pages that update content without changing the URL (such as infinite scroll feeds) will not trigger a new announcement.
- On very heavily scripted pages, the announcement may appear a few seconds after the page loads while the addon waits for the page to finish rendering. Use NVDA+Shift+R to manually recount if needed.
- Page Reporter only works in browse mode. Application mode (used in some web apps) is not supported.
What Changed in v3.1.0
- Changed NVDA+Shift+W feedback to say only the selected state: "Full report", "Brief report", or "Page Reporter off."
What Changed in v3.0.4
- Added a setting to control whether Page Reporter interrupts current NVDA speech before speaking.
- Page Reporter no longer interrupts speech by default.
What Changed in v3.0.3
- Added a three-state NVDA+Shift+W cycle: full report, brief report, and off.
- Added brief report mode, which speaks only the element counts without the page-loaded phrase.
- Added Spanish localization files in the standard NVDA add-on locale folder.
- Restored the English root manifest and moved Spanish manifest text into locale/es/manifest.ini.
What Changed in v3.0.1
- Fixed link count accuracy — offscreen links (below the viewport) were previously excluded from the count even though NVDA navigates them with the K key.
- Fixed heading count accuracy — all headings are now counted to match NVDA H-key navigation behavior.
- Fixed form field count accuracy — all form fields and buttons are now counted correctly regardless of visibility state.
- Fixed landmark detection — landmarks are now detected via NVDA's virtual buffer attributes instead of role-based detection, which was causing massive false positives.
- Buttons are now grouped with form fields in both the announcement and settings.
- Added NVDA+Shift+R manual recount gesture.
- Improved threading to prevent scan timeouts and partial counts on complex pages.
Authors
Rosendo Barde Hubilla Jr. and Joseph Bautista