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.
From markup to Orca speech Flow: your HTML and ARIA become the browser's accessibility tree; Firefox maps it to AT-SPI2; Orca reads AT-SPI2 and speaks based on mode and settings. From markup to Orca speechHTML + ARIAgrid, rowheader, aria-sortFirefoxaccessibility treeAT-SPI2table interfacesOrcabrowse or focus modeSpeechheaders, values, states
Differences arise at the mapping and in Orca's settings.

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.

NVDA versus Orca behaviour in grids Comparison: NVDA and Orca share many behaviours, but differ in mode switching, table navigation keys and some announcements. NVDA versus Orca behaviour in grids✗ NVDA: auto focus mode on gridCtrl+Alt+Arrows for cellsAnnounces aria-sort reliablySpeech viewer for logs✓ Orca: focus mode may need Orca+AAlt+Shift+Arrows in browse modeAnnounces sort in most cases; verifyOrca debug log or speech history

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
Feature support to verify in Orca Matrix of grid features — table navigation, header announcements, aria-sort, aria-selected, treegrid levels, live regions — against typical Orca support and what to verify. Feature support to verify in OrcaTypical supportVerifyTable navigationGoodKeys differHeader announcementsGoodVerbosity settingsaria-sortUsuallyYesaria-selectedGoodIn focus modeTreegrid levelsPartialYesLive regionsGoodTiming with rapid updates
Most features work; verify sort, levels and live timing.

Step-by-step implementation

Permalink to "Step-by-step implementation"
  1. Set up a test machine. A recent Ubuntu or Fedora with GNOME, Orca and Firefox (and optionally Chromium) installed.
  2. Learn the basics. Spend fifteen minutes with Orca’s tutorial: browse/focus toggle, structural navigation, table keys.
  3. Run your grid script. Use the same keyboard script as for NVDA: arrive on table, navigate cells, sort, select, edit, filter.
  4. Check live regions. Trigger filters and bulk actions and confirm messages are spoken in the right order.
  5. 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.

Permalink to "Related"

← Back to Assistive Technology Behaviour Differences