Closed Bug 1680277 Opened 3 years ago Closed 3 years ago

VoiceOver does not identify hyperlinks in contentEditables

Categories

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

Firefox 85
Desktop
macOS
defect

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox85 --- fixed

People

(Reporter: MarcoZ, Assigned: eeejay)

Details

(Whiteboard: [Mac2020_2])

Attachments

(3 files)

Steps:

  1. Open data:text/html,<div contentEditable="true" tabindex="0" role="textbox" aria-multiline="true"><p>This is a paragraph with a <a href="https://mozilla.org">hyperlink</a> in it.</p></div>.
  2. Explore the text with VoiceOver.
    • Expected: The word "hyperlink" should be indicated to be a link.
    • actual: VoiceOver treats it as normal text along with all the other text.

This works as expected in Safari and Chrome.

Impact: This makes it impossible in Google Docs to identify hyperlinks in documents.

To fix this we would need to implement attributed strings. I think it is too late in the cycle for that at the moment. I can start working on this and have something ready for early next cycle (86).

Priority: P1 → P2

For focusable ancestor, just use editable ancestor since the IPC toll
on finding closest focusable ancestor isn't worth it.

Assignee: nobody → eitan
Status: NEW → ASSIGNED

This is consistent with how WebKit does it: if offset is between two accessibles,
return the previous one.

Depends on D99311

By spec, it would need to be an area for aria-multiline=true and a field for aria-multiline=false. Chrome seems to assign all aria text boxes to areas. For some reason this allows VO to recognize links when editing. Webkit doesn't need this, for some reason and can get links announces in AXTextField as well.

Depends on D99312

Pushed by mreschenberg@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5bbfaf673d39
1/3: Add editable and focusable ancestor getters. r=morgan
https://hg.mozilla.org/integration/autoland/rev/bb00472c7a1f
2/3: Use use previous offset for calculating element at marker. r=morgan
https://hg.mozilla.org/integration/autoland/rev/4ad2bcdda94c
3/3: Use AXTextArea for multiline and aria text boxes. r=morgan
Attachment #9192329 - Attachment description: Bug 1680277 - 2/3: Use use previous offset for calculating element at marker. r?morgan! → Bug 1680277 - 2/3: Use previous offset for calculating element at marker. r?morgan!
Pushed by mzehe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d02c802aa04d
1/3: Add editable and focusable ancestor getters. r=morgan
https://hg.mozilla.org/integration/autoland/rev/0023aff32a75
2/3: Use previous offset for calculating element at marker. r=morgan
https://hg.mozilla.org/integration/autoland/rev/12c70651cd77
3/3: Use AXTextArea for multiline and aria text boxes. r=morgan,MarcoZ
Flags: needinfo?(eitan)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: