gecko-dev/accessible
James Teh d6c7ae81f0 Bug 1620510: Set the last a11y focus when queuing a focus event instead of when processing it. r=MarcoZ
Previously, the following scenario was possible:

1. aria-activedescendant is used on a menupopup to set a11y focus. When the event is processed, FocusManager::mLastFocus gets set accordingly.
2. aria-activedescendant on the menupopup is changed, so a focus event gets queued.
3. Before that focus event can be processed, the Accessible in (1) gets unbound from the a11y tree.
4. DocAccessible::UnbindFromDocument checks whether the Accessible is the last focus. As per (1), it is.
5. It then tells FocusManager to reset the active item, causing it to throw away the active item set in (2) and fire focus on the DOM focus (which is not the menupopup).

This breaks the new select dropdown implementation.

To fix this, we now set mLastFocus in DispatchFocusEvent (when the event is queued) instead of ProcessFocusEvent.
This way, we don't override a pending new focus change unintentionally.

Differential Revision: https://phabricator.services.mozilla.com/D65706

--HG--
extra : moz-landing-system : lando
2020-03-06 11:56:39 +00:00
..
android Bug 1616468 - Indicate required field in hint string. r=Jamie 2020-03-04 00:00:44 +00:00
aom Bug 1617628 - Hide nsBaseHashtable Put overloads in nsRefPtrHashtable subclass. r=froydnj 2020-02-25 17:03:36 +00:00
atk Bug 1608965 Part 2 - Add ARIA suggestion role, r=Jamie 2020-03-01 19:37:33 +00:00
base Bug 1620510: Set the last a11y focus when queuing a focus event instead of when processing it. r=MarcoZ 2020-03-06 11:56:39 +00:00
generic Bug 1619617: part 1) Annotate `RemoveRangeAndUnselectFramesAndNotifyListeners` with `MOZ_CAN_RUN_SCRIPT`. r=smaug 2020-03-06 12:03:23 +00:00
html Bug 1616078: Don't use HTMLListBulletAccessible for CSS ::marker content. r=eeejay,emilio,MarcoZ 2020-02-21 01:23:37 +00:00
interfaces Bug 1608965 Part 2 - Add ARIA suggestion role, r=Jamie 2020-03-01 19:37:33 +00:00
ipc Bug 1555228: When window emulation is enabled, use the root accessible to answer IAccessible::accChild queries for ids in OOP iframes. r=yzen 2020-03-03 15:48:22 +00:00
mac Bug 1619458 - Don't create OSX accessibles for XUL tooltips. r=morgan 2020-03-03 17:47:09 +00:00
other
tests Bug 1620510: Set the last a11y focus when queuing a focus event instead of when processing it. r=MarcoZ 2020-03-06 11:56:39 +00:00
windows Bug 1613531: Eliminate the a11y telemetry thread in favour of background task; r=Jamie 2020-02-06 00:24:26 +00:00
xpcom Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart 2020-02-14 13:22:46 +00:00
xul Bug 1619458 - Add Accessible::IsXULTooltip. r=Jamie 2020-03-03 01:42:46 +00:00
moz.build Bug 1543575 - add fission specific accessibility tests. r=Jamie 2019-11-14 14:53:49 +00:00