Closed Bug 1949921 Opened 1 year ago Closed 1 month ago

Windows Narrator does not automatically start reading document contents

Categories

(Core :: Disability Access APIs, defect)

Unspecified
Windows 11
defect

Tracking

()

RESOLVED FIXED
157 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr140 --- wontfix
firefox-esr153 --- wontfix
firefox137 --- wontfix
firefox155 --- wontfix
firefox156 --- wontfix
firefox157 --- fixed

People

(Reporter: nlapre, Assigned: Jamie)

References

(Blocks 1 open bug)

Details

Attachments

(1 external file)

STR:

  1. Turn on UIA support in about:config; set accessibility.uia.enable to true.
  2. Launch Windows Narrator.
  3. Type or paste data:text/html,hello world into the Awesomebar, then press Enter.

Expected: Narrator reads the text in the document without any keyboard input, as it does in Edge. The specific utterance is: "loading complete, scan, document, hello world"
Actual: The user must enter a keyboard command (such as Narrator + Down Arrow) to get Narrator to start reading. The specific utterance is: "scan"

The word "scan" comes from switching into scan mode (it would have been off while in the Awesomebar). Firefox is missing loading notifications and the "document" announcement, but those aren't the purpose of this bug. This bug specifically deals with the lack of automatic reading of the content.

It's not clear to me that we want this behavior, but putting myself in the shoes of most users, I think it's a potentially desirable default.

I wonder whether this is because we don't fire UIA_AsyncContentLoadedEventId. Chromium fires this at the same time it fires IA2_EVENT_DOCUMENT_LOAD_COMPLETE.

Firing UIA_AsyncContentLoadedEventId results in a "[page title] has finished loading" announcement, but it does not result in the page being read automatically. Hmmm.

This doesn't seem to work with the IA2 -> UIA proxy either (Gecko UIA disabled). So, it isn't a regression strictly speaking, though it'd obviously be good to fix, whether before or after we ship UIA.

(In reply to James Teh [:Jamie] from comment #2)

Firing UIA_AsyncContentLoadedEventId results in a "[page title] has finished loading" announcement, but it does not result in the page being read automatically. Hmmm.

And yet this Chromium commit has this to say:

This change fires UIA_AsyncContentLoaded as the UIA analogue to
IA2_EVENT_DOCUMENT_LOAD_COMPLETE. Narrator plans to use this to
determine when to start auto-reading webpages.

See Also: → 1950275
Depends on: 1956150

I asked a contact at Microsoft about this. It seems this will require a change in Narrator. I'll leave this open to track this, but until Microsoft have made the change, there's nothing more we can do.

Keywords: stalled

Microsoft have now implemented a new IsWebContentRoot custom UIA property which Narrator will be using instead of hard coding fragile checks for various browsers. We should implement this. Documentation, implementation in Chromium.

Keywords: stalled
Assignee: nobody → jteh
Status: NEW → ASSIGNED

Chromium implements this already.
It will be used by Narrator to identify web content; e.g. for navigation boundaries and automatic say all.

Pushed by jteh@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/33f9df54d77d https://hg.mozilla.org/integration/autoland/rev/6bdbf53d300e Implement the IsWebContentRoot UIA custom property. r=accessibility-platform-reviewers,eeejay
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 157 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: