Closed Bug 1625178 Opened 1 year ago Closed 4 months ago

Support aria-roledescription in Mac

Categories

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

All
macOS
defect

Tracking

()

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

People

(Reporter: eeejay, Assigned: morgan)

Details

(Whiteboard: [mac2020_1])

Attachments

(1 file)

STR:

  1. Load data:text/html,<button aria-roledescription="banana">Target</button>
  2. Focus button

Expected:
VoiceOver should say "Target, banana"

Actual:
VoiceOver says "Target, button"

Notes:
While we can just pick up the accessible attributes this can prove to be a lot of IPC calls for a minor feature. This is similar to aria-current, but with aria-current we also have a state we can use to know if we should retrieve the attributes.

Severity: normal → S3

For discussion: This is needed by Google Sheets for at least the current cell coordinate announcements. Possibly other scenarios in G Suite as well, haven't checked. But the Sheets use case is definitely confirmed. So for better support of a widespread web app, this might be useful to support sooner rather than later, also in accordance with the top sites and advanced test plan contents.

Priority: P3 → P2
Assignee: nobody → mreschenberg
Priority: P2 → P1

I was worried that we would need to implement caching of some sort for this. But on a second glance it looks like AXRoleDescription is not called nearly as much as other attributes that do sync IPC, namely size, position, title, description, and value.

After running VO for a while with an attribute call counter in gmail and other websites I get the following tally:

AXRows: 1
AXVisibleRows: 1
AXAccessKey: 2
AXARIARelevant: 2
AXARIAAtomic: 2
AXARIABusy: 2
AXAttributedStringForTextMarkerRange: 3
AXValueAutofillAvailable: 3
AXCaretBrowsingEnabled: 4
AXVisibleCharacterRange: 7
AXSelectedTextRanges: 9
AXContents: 13
AXLoaded: 13
AXColumns: 13
AXHelp: 17
AXOrientation: 18
AXHorizontalScrollBar: 20
AXDRTSpeechAttribute: 20
AXVerticalScrollBar: 20
AXStyleRangeForIndex: 20
AXEndTextMarker: 21
AXIndex: 21
AXStartTextMarker: 21
AXRightWordTextMarkerRangeForTextMarker: 23
AXSelectedCells: 24
AXSharedCharacterRange: 24
AXRowCount: 25
AXBoundsForRange: 25
AXInsertionPointLineNumber: 26
AXHeader: 27
AXLineTextMarkerRangeForTextMarker: 31
AXSelectedRows: 32
AXLineForIndex: 39
AXLeftWordTextMarkerRangeForTextMarker: 42
AXCustomActions: 47
AXStringForTextMarkerRange: 52
AXRangeForLine: 53
AXSelectedChildren: 56
AXLinkedUIElements: 62
AXURL: 67
AXSharedTextUIElements: 69
AXChildrenInNavigationOrder: 88
AXSharedFocusElements: 114
AXARIAControls: 114
AXVisited: 115
AXLanguage: 129
AXValueDescription: 137
AXHasPopup: 139
AXStyleInfo: 155
AXRequired: 155
AXOwns: 157
AXEnabled: 160
AXInvalid: 163
AXPlaceholderValue: 173
AXTextMarkerRangeForUIElement: 184
AXStringForRange: 186
AXPopupValue: 191
AXChildrenHash: 200
AXSelectedTextRange: 241
AXTopLevelUIElement: 260
AXLengthForTextMarkerRange: 276
AXTextMarkerRangeForUnorderedTextMarkers: 305
AXAttributedStringForRange: 306
AXIndexForTextMarker: 356
AXWindow: 363
AXSelectedTextMarkerRange: 387
AXUIElementForTextMarker: 414
AXFocused: 615
AXARIALive: 653
AXBlockQuoteLevel: 663
AXIsScrollAncestor: 870
AXRoleDescription: 961
AXNumberOfCharacters: 992
AXTitleUIElement: 1091
AXDateTimeValue: 1092
AXARIACurrent: 1092
AXUIElementsForSearchPredicate: 1338
AXInlineText: 2294
AXIndexForChildUIElement: 2562
AXPosition: 3083
AXTitle: 3286
AXValue: 3302
AXSize: 3820
AXDescription: 8639
AXSubrole: 16188
AXParent: 18183
AXChildren: 27954
AXRole: 47045
==== Total: 152168

I think it is worth not optimizing here and just doing the sync call. If this ends up being a pain point we can optimize in the future.

Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/965482f9fa3d
Support aria-roledescription in mac. r=morgan
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch

I've reproduced the issue on Firefox 76.0a1 (2020-03-26) under macOS 11.1

The issue is fixed on 85.0b3 and 86.0a1 (2020-12-17). Tests were performed under 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.