mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 21:01:08 +00:00
f6a958e457
In terms of the C++ code, this patch does basically one thing, which is allowing creating option / optgroup accessibles without a frame for comboboxes, and tracking mutations like layout does. It seems this should be straight-forward, but handling mutations got a bit complicated. We don't want to forcibly re-create accessibles, so we want to re-use the PruneOrInsertSubtree logic that ContentInserted uses. But determining whether we need to create the accessible requires having flushed styles, so I added a ScheduleAccessibilitySubtreeUpdate API to trigger that from WillRefresh once style and layout are up-to-date. The rest of the test updates should be sort of straight-forward. They reflect two changes: * <option> accessibles are leaves now (so they don't have text children). Note that we still have the right native name and so on, using the same logic we use to render the label. * In 1proc tests, the focus no longer goes to the <option>, and uses the same code-path that e10s does (moving focus to a <menulist> in the parent process). Since that wasn't easy to test for (afaict) and we have browser tests to cover that (browser_treeupdate_select_dropdown.js, etc), I've decided to just remove the tests that relied on the previous code-path, as they were testing for a codepath that users weren't hitting anyways. I've tested this with JAWS and Orca and behavior seems unchanged to my knowledge. Differential Revision: https://phabricator.services.mozilla.com/D133098 |
||
---|---|---|
.. | ||
android | ||
aom | ||
atk | ||
base | ||
basetypes | ||
docs | ||
generic | ||
html | ||
interfaces | ||
ipc | ||
mac | ||
other | ||
tests | ||
windows | ||
xpcom | ||
xul | ||
moz.build |