Orca and Firefox on Linux with Data Grids
Permalink to "Orca and Firefox on Linux with Data Grids"Orca is the main screen reader on Linux desktops and is used by developers, researchers and public-sector staff on Linux workstations. With Firefox, it supports tables, ARIA grids and live regions through the AT-SPI accessibility API. Its behaviour is close to NVDA’s in many ways, but there are differences in mode switching, table navigation keys and announcement verbosity that affect data-heavy apps. If your users include Linux desktops, Orca belongs in your test matrix.
This guide belongs to assistive technology behaviour differences.
Spec reference
Permalink to "Spec reference"- AT-SPI2 — the Linux accessibility API Firefox and Chromium expose to Orca.
- ARIA grid and table roles — mapped to AT-SPI table interfaces.
- SC 4.1.2 / 1.3.1 (A) — the same requirements; Orca exposes failures in different ways.
- Orca documentation — browse mode (“browse mode” and “focus mode” toggled with Orca+A), structural navigation keys.
When to use — and when not to
Permalink to "When to use — and when not to"Test with Orca when your product is used on Linux desktops (universities, government, engineering) or when you sell to organisations with Linux workstations.
It does not replace testing with NVDA or JAWS for Windows users. The misapplication: assuming “works in NVDA” means “works in Orca” without checking, especially for live regions and mode switching in grids.
Annotated code example
Permalink to "Annotated code example"# Ubuntu / Fedora: install and start Orca, then Firefox
sudo apt install orca # or: sudo dnf install orca
orca --setup # first-run settings (voice, key layout)
orca & # or Super+Alt+S to toggle on GNOME
firefox http://localhost:3000/invoices
Orca keys (desktop layout; Orca modifier = Insert):
Orca+A toggle browse / focus mode
T / Shift+T next / previous table (browse mode)
Alt+Shift+Arrows move between table cells (browse mode)
Alt+Shift+Home first cell
Orca+Space Orca preferences (verbosity, table settings)
Keyboard & AT behaviour
Permalink to "Keyboard & AT behaviour"| Test | Expected in Orca + Firefox | Check |
|---|---|---|
| Arrive on native table | “table with 5 rows 4 columns” | Caption read |
| Alt+Shift+Right in table | Column header + value | Header announced on change |
| Tab into ARIA grid | Focus mode; cell value | Mode switch announced |
| Sort header activated | “sorted ascending” | Depends on version; verify |
| Polite live region | Read after current speech | Messages not dropped |
Step-by-step implementation
Permalink to "Step-by-step implementation"- Set up a test machine. A recent Ubuntu or Fedora with GNOME, Orca and Firefox (and optionally Chromium) installed.
- Learn the basics. Spend fifteen minutes with Orca’s tutorial: browse/focus toggle, structural navigation, table keys.
- Run your grid script. Use the same keyboard script as for NVDA: arrive on table, navigate cells, sort, select, edit, filter.
- Check live regions. Trigger filters and bulk actions and confirm messages are spoken in the right order.
- Record differences. Add Orca results to your screen reader test matrix with versions.
Integration context
Permalink to "Integration context"Comparable guides cover Narrator and Edge with data grids, JAWS virtual cursor versus forms mode and NVDA vs JAWS aria-sort differences. Inspecting what Firefox exposes is covered in Firefox accessibility inspector for data grids and reading platform accessibility APIs for grids. Planning coverage is in building a screen reader test matrix.
Gotchas
Permalink to "Gotchas"Wayland and accessibility. Some Wayland sessions have had accessibility limitations; if Orca cannot read an app, try an X11 session to isolate the problem.
Chromium on Linux. Chromium needs accessibility enabled (it usually detects Orca); if not, start it with --force-renderer-accessibility.
Keyboard layouts. Orca has desktop and laptop layouts with different modifier keys; note which you used.
Edge cases
Permalink to "Edge cases"- role=“application”. Orca switches to focus mode; ensure your widget handles all keys.
- Very large tables. Orca can be slow with huge DOMs, like other screen readers; virtualization helps.
- Custom tooltips. Check that descriptions are read; Orca may need a pause or a command to read them.
Worked example
Permalink to "Worked example"A university research portal used ARIA grids for dataset listings. Testing with NVDA passed, but a Linux-using blind researcher reported that sorting gave no feedback. In Orca with Firefox, the team found that aria-sort was announced only after moving focus away and back. They added a polite status message after sorting, which worked in every screen reader, and added Orca to their release test matrix.
Common mistakes
Permalink to "Common mistakes"- Assuming NVDA results apply to Orca.
- Forgetting to toggle focus mode in grids.
- Not recording Orca and Firefox versions.
- Testing only in Chromium on Linux.
Testing checklist
Permalink to "Testing checklist"Testing it with a screen reader
Permalink to "Testing it with a screen reader"This guide is about one screen reader; the key is to run a fixed script. Start Orca, open the grid page in Firefox, press T to reach the table and listen to the summary. Navigate with Alt+Shift+Arrows, then Tab into the grid and confirm focus mode. Sort a column and listen for state. Apply a filter and listen for the count. Repeat the same script in NVDA so differences are easy to spot.
Getting help from the Orca community
Permalink to "Getting help from the Orca community"Orca is developed in the open, and its maintainers and users are reachable through GNOME’s issue tracker and mailing lists. When you find a difference that looks like an Orca or Firefox bug rather than a problem in your markup, reduce it to a minimal test page and check the issue trackers before filing. Include versions and the exact keys pressed. A minimal page also makes it easy to confirm whether a workaround such as an added status message is still needed after updates.
Checking the tree with Accerciser
Permalink to "Checking the tree with Accerciser"Accerciser is a GNOME tool that shows the AT-SPI tree Orca reads. Open it alongside Firefox, select your grid and check the role, name, states and table interface of cells. If Accerciser shows the right header and state but Orca does not speak it, the issue is in Orca’s handling or settings; if the tree is wrong, the issue is in your markup or the browser’s mapping.
Key points
Permalink to "Key points"Orca with Firefox handles well-built tables and grids, but mode switching, sort announcements and treegrid levels need checking, and results belong in the matrix with versions.
Design system notes
Permalink to "Design system notes"Include Orca in the design system’s screen reader support statement if Linux is a target platform, and keep a short Orca script for grid components.
FAQ
Permalink to "FAQ"Is Orca widely used?
Less than NVDA or JAWS, but it is the main option on Linux desktops.
Firefox or Chromium with Orca?
Firefox has long had strong AT-SPI support; test both if users use both.
How do I see what Orca says?
Use Orca’s speech history or debug logging.
Do I need a Linux machine?
A virtual machine with GNOME works for testing.
Are ARIA grids supported?
Yes, with focus mode; verify specific states.
Should Orca block releases?
If Linux users are a significant audience, yes for critical paths.
Related
Permalink to "Related"- Narrator and Edge with data grids — another platform
- Building a screen reader test matrix — coverage planning
- Firefox accessibility inspector for data grids — inspecting the tree