Skip to content

NVDA reports invalid math formatting for valid ARIA role="math" content in Chromium #20727

Description

@cary-rowen

Brief summary

In Chromium-based browsers, navigating to a valid HTML element with role="math" and an author-provided accessible name causes NVDA to announce "Invalid math formatting found". This was reproduced using NVDA's built-in default MathCAT provider.

Chromium exposes the element's innerHTML through the IA2 math object attribute. NVDA assumes that any value of this attribute is raw MathML, wraps ordinary HTML in <math>, and passes the resulting invalid markup to MathCAT.

The test case follows the documented ARIA math pattern: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/math_role

This appears to be a regression introduced by #20049 (a9163c762c5acbca66529bf13b91f790ddedf661).

Steps to reproduce

  1. Save the following document as role-math-test.html:
<!doctype html>
<html lang="en">
<meta charset="utf-8">
<title>ARIA math test</title>
<p>The expression is <span role="math" aria-label="x plus y"><span aria-hidden="true">x + y</span></span>.</p>
</html>
  1. Start NVDA.
  2. Open the document in Chrome or Edge.
  3. In browse mode, move to the math expression with the arrow keys.

Actual behavior

NVDA announces:

Invalid math formatting found

NVDA then announces the accessible name, "x plus y".

The log reports that span is not a valid MathML element. The <math> element shown in the log does not exist in the document; NVDA constructs it from the IA2 math attribute.

Expected behavior

NVDA should not report invalid math. It should announce the author-provided accessible name, "x plus y".

This example provides a flat ARIA text alternative rather than native MathML, so structured mathematical navigation is not expected.

NVDA logs, crash dumps and other attachments

tbd

NVDA type

installed copy

NVDA version

alpha-57522,5c1a74ca (2026.3.0.57522)

Have you tried any other versions of NVDA? If so, please report their behaviors.

No

Windows version

Windows 10 22H2 (AMD64) Build 19045.7663

Name and version of other software in use when reproducing the issue

Google Chrome151

Other information about your system

None

Does the issue still occur after restarting your computer?

I have restarted my computer and the issue still occurs

If NVDA add-ons are disabled, is your problem still occurring?

I have restarted NVDA with add-ons disabled and the issue still occurs

Does the issue still occur after you run the System Accessibility Repair Tool (COM Registration Fixing Tool in older versions) in NVDA's tools menu?

I have run the System Accessibility Repair Tool and the issue still occurs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugfeature/mathp2https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priorityrelease/blockingthis issue blocks the milestone releasetriagedHas been triaged, issue is waiting for implementation.

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions