Closed Bug 1676662 Opened 4 years ago Closed 4 years ago

In contentEditables, list items are not exposed, and the whole text cannot be navigated by character with VoiceOver.

Categories

(Core :: Disability Access APIs, defect, P1)

Desktop
macOS
defect

Tracking

()

VERIFIED FIXED
85 Branch
Tracking Status
firefox84 --- wontfix
firefox85 --- verified
firefox86 --- verified

People

(Reporter: MarcoZ, Assigned: eeejay)

Details

(Whiteboard: [Mac2020_2])

Attachments

(1 file)

Steps:

  1. Open data:text/html,<div contentEditable="true" role="textbox" aria-multiline="true"><p>This is a paragraph.</p><ul><li>List item 1</li><li>List item 2</li></ul><ol><li>Numbered item 1</li><li>Numbered item 2</li><li><ol><li>Inner item 1</li><li>Inner item 2</li></ol></li></ol><h1>A heading</h1><p>Another paragraph.</p></div>.
  2. Focus the contentEditable and arrow through it.
    • Expected: VoiceOver reads the bulleted and numbered list items with their bullets and numbers respectively.
    • Actual: VoiceOver only reads the text.
  3. Press Ctrl+Option+Shift+DownArrow to interact with the text box, then Ctrl+Option+Shift+RightArrow to navigate the text character by character.
    • Expected: All the text could be navigated.
    • Actual: Results are very inconsistent. Either only text from the current paragraph is visible, meaning the one the cursor is in, or VoiceOver reads some arbitrary text from the browser UI instead.

In both Chrome and Safari, both the bullets and numbers are exposed, as well as the full text can be navigated when performing the above step 4.

This may be closely related to, or even a dupe of, bug 1672700. But filing it separately because it affects speech, too.

This prevents richly formatted documents in Google Docs, like our VoiceOver testing scenarios, from being read properly. The numbering and nested numbering from those lists is not communicated by Firefox. The heading, however, is.

This is an issue in Google Docs. Nominating for fixing in 85 for consumer preview.

Priority: P2 → P1

Safari has an inconsistent way to deal with list bullets in text.
If a given range has a list or list item nested inside it - but it is not
at the beginning, the bullet will not be returned as part of the text.But if the range begins at the start
of a list item, the preceding bullet is included. For example, given the following list:

  • First Item
  • Second Item

If the range is [irst Item], the text for that range should return as "irst Item",
but if the range is [First it], the returned text is "* First it".

This patch emulates that inconsistency by removing the list item considerations
in the text segments iterator, and instead prepending a bullet if needed.

Assignee: nobody → eitan
Status: NEW → ASSIGNED
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f62764a6d94d
Prepend list bullet when getting range at start of list item. r=morgan
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch

The patch landed in nightly and beta is affected.
:eeejay, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(eitan)

It is not important enough for uplift. Thanks!

Flags: needinfo?(eitan)
Flags: qe-verify+

I've reproduced the issue on Firefox 84.0a1 (2020-11-11) under macOS 11.1

The issue is fixed on Firefox 85.0b3 and 86.0a1 (2020-12-18). Tests were performed on macOS 11.1

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: