Closed Bug 1866793 Opened 7 months ago Closed 7 months ago

[iOS] Implement extremely basic support for text caret

Categories

(Core :: Disability Access APIs, task)

ARM64
iOS
task

Tracking

()

RESOLVED FIXED
125 Branch
Tracking Status
firefox125 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

Details

Attachments

(1 file)

There are a lot of private APIs here, so it's very difficult to do a proper implementation. However, I can at least focus the text field, have VoiceOver report that it's being edited and allow the caret to be moved with the VO characters rotor. Unfortunately, moving by character doesn't actually report the character to which you've moved. This probably requires us to fire a notification for the caret move, but we can't do that because these notifications are private and they seem to be included in a bundle loaded into WebKit which isn't open source. Interestingly, if you move away from the text field and back again, VoiceOver does report where the caret is, so the retrieval does appear to be working.

  1. Expose the IsEditing trait when a text field is focused.
  2. Implement _accessibilitySelectedTextRange and _accessibilitySetSelectedTextRange to get/set the caret.

Unfortunately, moving by character doesn't actually report the character to which you've moved. This probably requires us to fire a notification for the caret move

This might not be due to a missing notification. Unlike on Mac, WebKit on iOS doesn't seem to pass any data other than the fact that the caret moved and on which element. If I use a braille display on iOS, the caret moves as expected. This suggests that VO does realise the caret has moved.

I did try implementing the private _accessibilityCharacterRangeForPosition, _accessibilityValueForRange and _accessibilityAttributedValueForRange methods. They do get called, but this doesn't seem to help. :(

Status: NEW → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Depends on: 1882900
Group: mozilla-employee-confidential
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/32df9e537b44
Implement extremely basic support for text caret accessibility on iOS. r=eeejay
Target Milestone: --- → 125 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: